Listen to this Post
A memory-safety vulnerability exists in Open Babel’s Gaussian output parser that allows an out-of-bounds write when processing a specially crafted input file. The flaw resides in the `coords_type` orientation parser within the Gaussian output reader. When Open Babel parses a Gaussian output file, it reads orientation blocks that contain molecular coordinate data. The parser stores periodic‑cell translation vectors into a fixed‑size `translationVectors[]` array. A malformed orientation block can supply more translation vectors than the array has allocated slots, causing the parser to write past the end of the destination buffer. This out‑of‑bounds write corrupts adjacent memory and can lead to arbitrary code execution. The vulnerability is present in all Open Babel releases up to and including 3.1.1, as well as in the master commit 530dbfa3 at the time of discovery. Triggering the issue requires a victim to open a malicious Gaussian output file using the `obabel` command‑line tool, the `OBConversion` API, or any of the language bindings (Python, Ruby, Java, R, Perl, C, PHP). Open Babel is a widely used C++ library and CLI for interconverting chemical file formats; it is shipped by Linux distributions and embedded in various services that may parse untrusted input. The vulnerability was reported by Cisco TALOS as part of a larger batch of translation‑vector out‑of‑bounds writes affecting multiple formats (Gaussian, MOPAC, MSI). The fix was committed as `openbabel/openbabel@528c142f` and released in version 3.2.0 on 2026‑05‑26. A minimized reproducer is checked into the `test/files/fuzz_regress/` directory and is exercised on every CI build under ASAN+UBSAN by the `fuzzregresstest` harness.
DailyCVE Form:
Platform: Open Babel
Version: <= 3.1.1
Vulnerability: Out‑of‑bounds write (coords_type orientation)
Severity: High
date: 2023‑07‑21
Prediction: 2026‑05‑26
What Undercode Say:
Build Open Babel with AddressSanitizer to reproduce the crash $ mkdir build && cd build $ cmake .. -DCMAKE_CXX_FLAGS="-fsanitize=address -g" -DCMAKE_EXE_LINKER_FLAGS="-fsanitize=address" $ make -j$(nproc) Run the fuzz regression test that exercises the vulnerable parser $ ./test/fuzzregresstest --gtest_filter=GaussianOrientation Manual trigger using the obabel CLI on a crafted Gaussian output file $ obabel -igau malicious.out -osmi The reproducer file is located at: $ ls test/files/fuzz_regress/cve-2022-37331.gau
The CI pipeline automatically runs the fuzz regression harness under ASAN+UBSAN, ensuring the out‑of‑bounds write is caught if the fix is ever regressed.
Exploit:
An attacker can craft a Gaussian output file containing an orientation block with more translation vectors than the fixed‑size `translationVectors[]` array can hold. When the parser processes this block, it writes past the end of the buffer, corrupting adjacent heap metadata or other objects. By carefully controlling the overwritten data, the attacker may achieve arbitrary code execution on the target system. The exploitation requires user interaction – the victim must open the malicious file with obabel, the `OBConversion` API, or one of the language bindings. No special privileges are needed beyond the ability to read the file.
Protection:
- Upgrade to Open Babel 3.2.0 or later, which contains the fix commit
528c142f. - If upgrading is not immediately possible, avoid opening untrusted Gaussian output files with any Open Babel parser.
- Use the `fuzzregresstest` harness in CI to detect regressions of this vulnerability.
- Consider running Open Babel with AddressSanitizer or other memory‑safety tools when processing untrusted inputs in development environments.
Impact:
Successful exploitation allows an attacker to execute arbitrary code with the privileges of the process that opens the malicious Gaussian file. This can lead to complete system compromise, data exfiltration, or denial of service. The vulnerability affects all Open Babel deployments up to version 3.1.1, including those in Linux distributions and embedded services that parse chemical file formats. The wide distribution of Open Babel increases the potential attack surface, especially in automated pipelines that process user‑supplied files.
🎯Let’s Practice Exploiting & Learn Patching For Free:
🎓 Live Courses & Certifications:
Join Undercode Academy for Verified Certifications
🚀 Request a Custom Project:
Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands
Sources:
Reported By: github.com
Extra Source Hub:
Undercode

