PyPI · openbabel
Open Babel has out-of-bounds write in MOPAC translationVectors[] (UNIT CELL TRANSLATION)
A memory-safety vulnerability in Open Babel's MOPAC output parser
allowed an out-of-bounds write into the translationVectors[] array
when reading the "UNIT CELL TRANSLATION" block of a crafted input
file.
The MOPAC output reader stored translation vectors from the UNIT CELL
TRANSLATION block into a fixed-size translationVectors[] array. A
malformed block could push more vectors than the array had slots,
causing a write past the end of the array. One of five
translationVectors[] OOB writes in the TALOS 2022 batch.
Open Babel is a C++ library and CLI used to read and write chemistry
file formats; it is shipped by Linux distributions and embedded in
services that may parse untrusted input. Triggering this vulnerability
requires the victim to open a malicious MOPAC output file with the
obabel tool, the OBConversion API, or any of the language
bindings (Python, Ruby, Java, R, Perl, C#, PHP).
All releases up to and including 3.1.1.
3.2.0 (released 2026-05-26).
Fix commit: https://github.com/openbabel/openbabel/commit/40e85213
A minimized reproducer for this CVE is checked in under
test/files/fuzz_regress/ and is exercised on every CI build under
ASAN+UBSAN by the fuzzregresstest harness.
Reported by Cisco TALOS.
Is your project exposed to this? Stateward checks every dependency on every pull request and flags it only if your code actually reaches it.
Check my repoSources: CISA KEV (public domain), OSV.dev & GitHub Advisory Database (CC-BY-4.0), FIRST EPSS, NVD/CWE (public domain). Served live from the Stateward advisory database.