Executive brief
Open Babel is a widely used chemistry software library for converting and reading molecular data files. A security flaw in its Gaussian file format parser allows a specially crafted file to cause a memory error. If a user or automated service opens a malicious file, an attacker could potentially execute unauthorized code or crash the application, impacting data integrity and system availability.
Technical details
An out-of-bounds write vulnerability (CWE-787/CWE-119) exists in Open Babel's Gaussian format orientation functionality, specifically within the 'coords_type' orientation parser. The flaw is triggered when the parser encounters a malformed orientation block in a Gaussian output file, causing it to write data past the end of the allocated destination buffer. The attack vector is local, requiring a user to open a malicious file using the 'obabel' CLI tool, the 'OBConversion' API, or any of the supported language bindings (Python, Ruby, Java, etc.). Successful exploitation can lead to arbitrary code execution or a denial-of-service condition. The issue was addressed in version 3.2.0 by replacing fixed-size buffers with C++ strings to ensure safe memory handling.
Affected products
- Open Babel Open Babel <= 3.1.1
- pip openbabel < 3.2.0
Timeline
- 2022-07-21: disclosed: Initial report by Cisco Talos
- 2026-05-26: patched: Version 3.2.0 released
- 2026-07-01: advisory: GitHub Advisory published
References
- https://github.com/openbabel/openbabel/security/advisories/GHSA-vr3p-gg26-45v9
- https://github.com/openbabel/openbabel/commit/528c142f
- https://talosintelligence.com/vulnerability_reports/TALOS-2022-1672
- https://www.talosintelligence.com/vulnerability_reports/TALOS-2022-1672
- https://api.github.com/repos/openbabel/openbabel/security-advisories/GHSA-vr3p-gg26-45v9