Open Babel out-of-bounds write in MOL2 attribute parser

Severity: high · CVSS 8.1 · Published 2023-07-21

Open Babel, a widely used library for converting chemical data formats, contains a security flaw in how it processes MOL2 files. By providing a specially crafted file to a system using this library—such as an online molecule viewer or data converter—an attacker could potentially take control of the system or cause it to crash. This could lead to unauthorized access to sensitive research data or disruption of scientific services.

Technologies: openbabel (PyPI). Vendors: PyPI.

Quick answers

Is This vulnerability exploited in the wild?
No. Junglewise Threat Intelligence has no report of This vulnerability being exploited in the wild.
How severe is This vulnerability?
High severity, with a CVSS score of 8.1, published 21 July 2023.
Which products and versions are affected?
openbabel (PyPI) < 3.2.0.
Is there a fix for This vulnerability?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is This vulnerability attacked?
It is attacked over the network or with local access, in a software library.
Am I affected?
Check whether you run openbabel (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

An out-of-bounds write vulnerability exists in Open Babel's MOL2 format parser within the `ReadMolecule` function in `formats/mol2format.cpp`. The vulnerability is caused by the use of `sscanf` with a `%s` format specifier to read attributes and values into fixed-size 32-byte stack buffers (`attr` and `val`) without length constraints. An attacker can exploit this by providing a malformed MOL2 file containing long strings in the attribute/value section, leading to a stack-based buffer overflow. While exploitation requires the 'c' option to be enabled during conversion, the library's use in networked backend services makes it a viable target for remote code execution. The issue is addressed in version 3.2.0.

Affected products

  • Open Babel Open Babel 3.1.1, master commit 530dbfa3, and all versions prior to 3.2.0

Timeline

  • 2022-10-24: disclosed: Initial discovery/report by Talos (TALOS-2022-1664)
  • 2023-07-21: advisory: Original advisory published
  • 2026-07-01: other: Advisory withdrawn as a duplicate of GHSA-vjg6-gm8m-v5g6

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.