CVE-2022-37331
High · 7.8CVSS
7.8
EPSS
0.7%
Published
Jul 21, 2023
CISA due date
—
Cloudanix analysis
Chemistry file software can be tricked by a bad file into letting an attacker take over the computer.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Out-of-bounds write in Gaussian format orientation parsing leads to arbitrary code execution when processing a malformed file.
Why it matters to the business
Attackers can gain full control of systems that process untrusted chemical structure files, enabling data theft, ransomware deployment, or lateral movement in research and scientific computing environments; exploit code is publicly available and the vulnerability remains unpatched in listed versions.
How an attack unfolds
An attacker creates a specially crafted Gaussian-format file that triggers an out-of-bounds write during orientation handling; the file is delivered to a victim who opens it with Open Babel (via CLI, GUI, or library integration), causing the write to corrupt memory and execute attacker-supplied code.
How to fix it
No fixed versions are listed; immediately upgrade Open Babel to the latest master or any subsequent release that resolves the Gaussian parser issue, sandbox all file processing, and avoid handling untrusted Gaussian files until patched builds are available.
How to confirm the fix worked
Confirm Open Babel version is newer than 3.1.1 and commit 530dbfa3; fuzz the Gaussian parser with known-malformed test cases and verify no crashes or unexpected memory writes occur.
Typical attack path
- Craft malformed Gaussian file exploiting orientation parsing
- Deliver file via email, download, or shared storage
- Victim opens or converts the file using Open Babel
- Out-of-bounds write occurs and payload executes
How to detect it
Review process creation logs and file-access events around Open Babel execution; look for crashes, unexpected child processes, or memory-corruption indicators when Gaussian files are processed.
- openbabel process spawning cmd.exe or powershell.exe
- Gaussian file with malformed ORI section
- Access violation or segfault in obabel when reading .gau or .log files
What your security team should do
- Treat all Gaussian files from external sources as untrusted and block or sandbox their processing
- Monitor for new Open Babel releases and deploy as soon as available given public exploit existence
- Add file-type and content scanning rules for Gaussian format in mail and file gateways
- Audit all internal workflows that invoke Open Babel on user-supplied data
The record
An out-of-bounds write vulnerability exists in the Gaussian format orientation functionality of Open Babel 3.1.1 and master commit 530dbfa3. A specially crafted malformed file can lead to arbitrary code execution. An attacker can provide a malicious file to trigger this vulnerability.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | openbabel | 0 | No fix |
| Debian:12 | openbabel | 0 | No fix |
| Debian:13 | openbabel | 0 | No fix |
| Debian:14 | openbabel | 0 | No fix |
| Ubuntu:16.04:LTS | openbabel | 0 | No fix |
| Ubuntu:18.04:LTS | openbabel | 0 | No fix |
| Ubuntu:20.04:LTS | openbabel | 0 | No fix |
| Ubuntu:22.04:LTS | openbabel | 0 | No fix |
| Ubuntu:24.04:LTS | openbabel | 0 | No fix |
| Ubuntu:24.10 | openbabel | 0 | No fix |
| Ubuntu:25.04 | openbabel | 0 | No fix |
| Ubuntu:25.10 | openbabel | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | openbabel | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | openbabel | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | openbabel | 0 | No fix |
| openSUSE:Leap 16.0 | openbabel | 0 | 3.2.0-bp160.1.1 |
| openSUSE:Tumbleweed | openbabel | 0 | 3.2.0-1.1 |
Related vulnerabilities
- CVE-2022-46294 Multiple out-of-bounds write vulnerabilities exist in the translationVectors parsing… Also affects openbabel
- CVE-2022-46293 Multiple out-of-bounds write vulnerabilities exist in the translationVectors parsing… Also affects openbabel
- CVE-2022-46295 Multiple out-of-bounds write vulnerabilities exist in the translationVectors parsing… Also affects openbabel
- CVE-2022-43607 An out-of-bounds write vulnerability exists in the MOL2 format attribute and value… Also affects openbabel
- CVE-2022-42885 A use of uninitialized pointer vulnerability exists in the GRO format res functionality… Also affects openbabel
- CVE-2022-41793 An out-of-bounds write vulnerability exists in the CSR format title functionality of Open… Also affects openbabel
- CVE-2022-43467 An out-of-bounds write vulnerability exists in the PQS format coord_file functionality of… Also affects openbabel
- CVE-2022-46290 Multiple out-of-bounds write vulnerabilities exist in the ORCA format nAtoms… Also affects openbabel