CVE-2022-46290
High · 7.8CVSS
7.8
EPSS
0.8%
Published
Jul 21, 2023
CISA due date
—
Cloudanix analysis
A bug in chemistry file handling software can let a specially made file take over a computer when someone opens it, so organizations should stop opening unknown chemistry files until the software is fixed.
- 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 the ORCA format nAtoms coordinate storage loop due to missing index validation against the declared atom count, enabling memory corruption that can be leveraged for arbitrary code execution.
Why it matters to the business
Processing of untrusted chemistry data files can allow remote attackers to execute code on researcher or lab systems, risking data theft, tampering with scientific results, or full host compromise; low but stable exploit probability and public exploit code increase urgency for organizations handling molecular file formats.
How an attack unfolds
An attacker crafts a malformed ORCA file containing an nAtoms value that exceeds allocated storage, then supplies the file to a victim application using Open Babel. When the parser reaches the coordinate-writing loop, the unchecked index overwrites adjacent memory, allowing the attacker to hijack control flow and execute arbitrary code.
How to fix it
Update Open Babel to a version that enforces bounds checking in the ORCA coordinate loop; until a fixed release is available, avoid processing untrusted ORCA files and sandbox any Open Babel invocations that must handle external data.
How to confirm the fix worked
Confirm the presence of index validation against nAtoms in the ORCA coordinate storage routine; test with a crafted file containing nAtoms larger than the actual coordinate list and verify that no out-of-bounds write occurs and the process remains stable.
Typical attack path
- Create a specially crafted ORCA file with an inflated nAtoms value and malicious coordinate data
- Deliver the file via email, download link, shared storage, or any chemistry data exchange channel
- Victim opens or converts the file using Open Babel or a dependent tool
- The ORCA parser enters the coordinate loop and performs the out-of-bounds write
- Memory corruption leads to code execution or process crash under attacker control
How to detect it
Review application or system logs for Open Babel crashes or segmentation faults occurring immediately after ORCA file parsing; correlate with file creation or access events involving .orca or related extensions from untrusted sources.
What your security team should do
- Immediately restrict Open Babel usage to trusted internal files only
- Monitor upstream Open Babel repository and package feeds for the corrective release
- Add file-type sandboxing or conversion gateways for any workflow ingesting external molecular files
- Include Open Babel in the vulnerability management inventory with a 30-day remediation SLA given public exploit availability
The record
Multiple out-of-bounds write vulnerabilities exist in the ORCA format nAtoms 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.The loop that stores the coordinates does not check its index against nAtoms
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 |
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-37331 An out-of-bounds write vulnerability exists in the Gaussian format orientation… 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