PyPI · openbabel
Open Babel has out-of-bounds write in MOPAC IN translationVectors[] (Tv atom)
A memory-safety vulnerability in Open Babel's MOPAC input parser
allowed an out-of-bounds write into the translationVectors[] array
when reading Tv (translation-vector) atoms from a crafted input
file.
The MOPAC IN reader stored Tv-atom translation vectors into a
fixed-size translationVectors[] array. A malformed input with
more than three Tv atoms (or three plus extras) 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 input 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.