☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H 🐛 CWE-787
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2022-46290

CVE-2022-46290 Out-of-Bounds Access in Open Babel
📅 PUBLISHED: 2023-07-21 00:00 UTC 🔄 UPDATED: 2026-10-02 00:00 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.80%
👁️
0.80% probability
20.1× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1203
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 9.8
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: C Scope Changed
C: H Confidentiality High
I: H Integrity High
A: H Availability High
9.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2022-46290 is a critical out-of-bounds (OOB) write vulnerability in the ORCA format parser of Open Babel 3.1.1 and the master commit 530dbfa3. The flaw resides in the nAtoms handling logic, where the loop storing atomic coordinates fails to validate its index against the declared atom count, enabling a specially crafted malformed file to trigger memory corruption and potential arbitrary code execution. With a CVSS score of 9.8, this vulnerability poses a severe risk to any system, service, or pipeline that programmatically processes untrusted chemical file formats via Open Babel. As of the latest intelligence, there is no confirmed patch, no known public exploit, and no evidence of exploitation in the wild, but the high severity and unpatched status demand immediate defensive action.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability is rooted in the ORCA file format parser, a module within Open Babel responsible for interpreting quantum chemistry input/output files. The NVD description pinpoints the defect: "The loop that stores the coordinates does not check its index against nAtoms." This indicates a classic off-by-one or unbounded loop condition within the coordinate-storage routine.

Mechanism: When parsing an ORCA file, the parser reads an nAtoms value that represents the expected number of atoms. The parser then enters a loop to extract Cartesian coordinates for each atom. The loop iterates without properly verifying that the current index remains below the declared nAtoms boundary. If a malicious file supplies a coordinate count that exceeds nAtoms, or if the loop condition is based on a separate counter that is inconsistent with nAtoms, the parser writes coordinate data to memory beyond the allocated buffer. This results in a heap-based out-of-bounds write.

Attack Surface: Open Babel is a widely used cheminformatics toolbox that converts between over 100 chemical file formats. It is integrated into numerous scientific applications, web services (e.g., online molecule converters), and batch-processing pipelines. Any environment that accepts user-supplied ORCA files — whether via a web upload, email attachment parsing, or automated analysis workflows — is exposed. The vulnerability is reachable with a single malformed file, requiring no special privileges beyond the ability to supply the file to the parser.

Code-Level Insight: The description references "the ORCA format nAtoms functionality," implying a specific function or code block handles the atom-count declaration. The loop that stores coordinates operates on a buffer allocated based on the nAtoms value. The lack of an index check (e.g., if (i < nAtoms) before writing coords[i]) is the root cause. An attacker can craft an ORCA header that declares fewer atoms than the coordinates actually listed, causing the parser to write past the buffer boundary.

Root Cause Class: This is a CWE-787 (Out-of-bounds Write) vulnerability. The specific variant here is a "buffer overflow via inconsistent length metadata," similar to classic integer-overflow-to-buffer-overflow or length-field trust weaknesses. The parser trusts the declared structure without cross-validating the actual data stream against the metadata.

Exploitation Scenarios

Prerequisites: The attacker must deliver a malicious ORCA file to a target that invokes Open Babel for parsing. This could be a web application (file upload), a desktop application (opening a file), or a server-side batch convertor.

Attack Chain:

  1. Reconnaissance/Target Identification: The attacker identifies platforms using Open Babel — e.g., web fingerprinting for "babel" in server headers, identifying file-conversion APIs, or targeting research institutions that host chemical analysis tools. Public-facing converters are prime targets.
  2. Triggering the Flaw: The attacker crafts an ORCA file. The file's header declares a small nAtoms value (e.g., 1), but the coordinate data section contains multiple coordinate lines (e.g., 1000 lines). The parser allocates a small buffer (for 1 atom) and then loops over the coordinate lines without validating that the index remains below 1, writing each coordinate triple beyond the buffer.
  3. Payload/Execution Method: Since the OOB write corrupts adjacent heap memory, the attacker can overwrite heap metadata or function pointers. With a crafted sequence of coordinates, the attacker can achieve arbitrary code execution. The NVD description states this "can lead to arbitrary code execution," meaning the PoC likely involves overwriting a saved instruction pointer or function pointer to redirect control flow to attacker-controlled shellcode placed elsewhere in memory (e.g., in the file content). The execution context depends on the application embedding Open Babel — it will run with the privileges of the parsing process.
  4. Post-Exploitation Impact: Successful exploitation grants the attacker code execution in the context of the victim application. If the application runs as a high-privilege service (e.g., root in a container or a system daemon), the attacker gains a foothold. Even at low privilege, the attacker could pivot to lateral movement, exfiltrate data, deploy malware, or establish persistence. In a research environment, this could lead to theft of proprietary chemical data or manipulation of computational chemistry results.

Note: No public PoC is available; the attack chain is inferred from the vulnerability class (OOB write) and the NVD description. The precise overwrite targets are unknown without reverse engineering, but heap corruption leading to code execution is the standard escalation path.

Impact Assessment

CVSS Rationale (Score: 9.8): The vector reflects Network attack vector (file hosted or sent remotely), Low attack complexity (no special conditions), No privileges required, and User interaction required (the victim must open the file). The scope is Changed (impact spans beyond the vulnerable component to the hosting application), and the impact is High for Confidentiality, Integrity, and Availability. This score indicates a worst-case scenario for a client-side parsing vulnerability.

Business Impact: For a chemical or pharmaceutical company, a compromised workstation in a research lab could expose intellectual property (formulations, synthesis routes). For a web service offering file conversion, a successful exploit could lead to full server compromise, affecting all users of the service.

Blast Radius: The vulnerable code path is in a parser that is invoked with untrusted input in diverse environments. The blast radius includes:

  • Any application statically or dynamically linking against Open Babel 3.1.1 (or master up to commit 530dbfa3).
  • Linux, Windows, and macOS distributions that ship Open Babel as a standalone utility or library.
  • Web services that process uploaded ORCA files.

Severity Assessment: The unpatched status (patch confidence 0/4) combined with a 9.8 CVSS score makes this a critical zero-day-class vulnerability. While the EPSS score (0.00804) suggests a low probability of active exploitation in the near term, the relative inaccessibility of exploit code (POC Status: None) does not diminish the risk; attackers with resources can reverse-engineer the parser and develop exploits.

Detection Guidance

The following detections focus on identifying attempts to deliver or process malformed ORCA files. These rules assume the attacker has network access (HTTP upload, email attachment) and that the target system generates application logs.

Sigma Rule

title: Open Babel ORCA Parser OOB Write Exploitation Attempt
id: 7f3c3a50-2f42-4a1f-9d71-9a1f4de4d002
status: experimental
description: Detects suspicious ORCA file activity indicative of CVE-2022-46290 exploitation.
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2022-46290
tags:
    - attack.t1203
    - cve.2022.46290
logsource:
    category: process_creation
    product: linux
detection:
    selection:
        Image|endswith:
            - 'babel'
        CommandLine|contains:
            - 'orca'
            - '*.inp'
            - '*.out'
    condition: selection
level: high
falsepositives:
    - Legitimate use of Open Babel for ORCA file processing (e.g., research workflows).

Note: This rule detects the use of the binary on ORCA files; a decisive detection requires monitoring for crashes (e.g., segfaults in babel) or abnormal memory allocation patterns in a sandbox.

YARA Rule

rule CVE_2022_46290_ORCA_Parser
{
    meta:
        author = "Valters IT Security"
        description = "Detects ORCA file with inconsistent nAtoms header vs actual coordinate lines"
        cve = "CVE-2022-46290"
        date = "2025-04-01"
    strings:
        $header_atoms = /nAtom[s]?\s*=\s*\d+/ nocase
        $coord_marker = /^\s*[+-]?\d+\.\d+\s+[+-]?\d+\.\d+\s+[+-]?\d+\.\d+\s*$/ nocase
    condition:
        #header_atoms > 0 and #coord_marker > 0 and #coord_marker > #header_atoms * 10
}

Note: This rule flags ORCA files where the number of coordinate lines is dramatically higher than the declared atom count (heuristic threshold of 10x). This is a probabilistic indicator of the malicious structure.

Suricata IDS Rule

alert http any any -> $HOME_NET any (msg:"CVE-2022-46290 - Potential Open Babel ORCA File Upload"; flow:established,to_server; content:"Content-Type|3a|"; content:"application/octet-stream"; http_content_type; content:"nAtoms"; nocase; http_client_body; content:".inp"; nocase; http_uri; sid:10000001; rev:1; metadata:cve CVE-2022-46290;)

Note: This rule looks for HTTP POST requests containing "nAtoms" in the body and ".inp" in the URI, suggesting an ORCA file upload. It should be tuned with tighter content matching (e.g., regex on the ratio of coordinate lines to declared atoms) to reduce false positives.

Elastic Detection

process where event.action in ("exec", "fork") and process.name : "babel*" and process.args : ("*.inp", "*.out")

Note: This EQL rule alerts on any execution of the babel binary with ORCA file extensions. It is broad; consider adding a condition to monitor for process exits with a non-zero code (indicating a crash) or for a subsequent shell process spawning from the babel process.

Splunk SPL Query

index=main sourcetype=linux_secure earliest=-7d
| where process_name="babel" OR process_name="babel.exe"
| spath input=cmdline output=args_list
| search args_list IN ("*.inp", "*.out")
| stats count by dest, user, parent_process, _time
| table _time, dest, user, parent_process, count

Note: This query surfaces all executions of the babel binary on ORCA files. SOC analysts should correlate these events with any application crash logs (e.g., entries in syslog indicating a segfault) to identify potential exploitation.

Wazuh OSSEC Rule

<group name="cve,orca,openbabel,">
    <rule id="100024" level="12">
        <if_sid>510</if_sid>
        <match>Segmentation fault|Segmentation violation</match>
        <program_name>^babel$</program_name>
        <description>CVE-2022-46290: Open Babel ORCA parser crash - possible exploitation</description>
        <group>cve_2022_46290,</group>
        <mitre>
            <id>T1203</id>
        </mitre>
    </rule>
</group>

Note: This rule triggers on segfault events from the babel process. A crash after processing an untrusted ORCA file is a strong indicator of the OOB write condition being triggered.

Mitigation & Patch Guidance

Patch Confidence: 0/4 — UNPATCHED. No vendor fix or community patch has been identified as of this report. The upstream project (Open Babel) has not released a version addressing commit 530dbfa3.

Immediate Mitigations:

  1. Sandbox File Parsing: Isolate any application that uses Open Babel. Run the parser in a restricted environment — e.g., a Linux container with seccomp, a separate VM, or a firejail sandbox — that limits the blast radius of a successful exploit. Ensure the sandbox has minimal network egress and drops privileges to a non-root user.
  2. Restrict File Sources: Convert untrusted ORCA files to a trusted intermediate format (e.g., SDF) outside the Open Babel context, then process the intermediate format. Only accept ORCA files from authenticated, trusted users for high-risk operations.
  3. Implement File Validation: Before invoking Open Babel, validate incoming ORCA files with a separate script or tool that checks the consistency of the nAtoms header against the number of coordinate lines. Reject files where the ratio is abnormal or where the coordinate count exceeds a reasonable threshold.
  4. Memory Protection (Mitigation): While not a fix, enabling ASLR (Address Space Layout Randomization) and using modern heap hardening (glibc's malloc protections, e.g., MALLOC_CHECK_=3) can increase the difficulty of crafting a reliable exploit. However, this is a defense-in-depth measure and not a primary defense.

Patch/Upgrade Steps:

  • Current: No patch exists. Monitor the Open Babel GitHub repository (https://github.com/openbabel/openbabel) for new releases or commits addressing the ORCA parser.
  • Short-term: If possible, fork the source code at commit 530dbfa3 and modify the coordinate-storing loop to include an index check (if (index < nAtoms)), then rebuild and deploy the patched binary. This is a temporary measure until an official patch ships.
  • Long-term: Subscribe to security advisories for Open Babel (e.g., via GitHub notifications or the project's mailing list). Position your organization to apply the official patch within 24 hours of release.

Long-Term Hardening:

  1. Dependency Management: Use a software composition analysis (SCA) tool to track Open Babel versions across your codebase. Establish a policy to upgrade all cheminformatics libraries within a defined SLA of a security fix.
  2. Fuzzing Infrastructure: The vulnerability class (OOB write) is precisely what fuzzing catches. Integrate Open Babel into a fuzzing harness (e.g., using AFL++ or libFuzzer) and run continuous fuzzing on ORCA and other formats. This will help identify similar parsing flaws before they are publicly disclosed.
  3. Network Segmentation: Isolate research and scientific computing networks from corporate internet access. This reduces the likelihood of an attacker being able to deliver a malicious file directly to a high-value target.
  4. User Awareness: Train users who handle chemical file formats to be wary of unexpected files from external collaborators. Emphasize that a file from a "trusted" colleague may have been tampered with.

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2022-46290
  2. Open Babel Official Site: https://openbabel.org/ (For monitoring for patches/releases)
  3. Open Babel GitHub Repository: https://github.com/openbabel/openbabel (For commit history and potential fix discussion)
  4. CWE-787 (Out-of-bounds Write): https://cwe.mitre.org/data/definitions/787.html (Reference for the vulnerability class)
  5. CISA Known Exploited Vulnerabilities Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog (No entry for CVE-2022-46290 as of the report date; this page should be monitored for updates.)

Threat Actor Intelligence: As of the report date, there are no known threat actor campaigns exploiting this vulnerability. The EPSS score (0.00804) and the lack of public PoC suggest that the vulnerability is not currently in the active exploit set of mainstream threat actors. However, given the high CVSS score and the availability of the Open Babel source code for analysis, it is likely that private researchers and advanced persistent threat (APT) groups are aware of this flaw and may develop targeted exploits for high-value chemistry or pharmaceutical targets. The absence of a patch makes this a standing exploit opportunity.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

"Open Babel" OR "babel" filetype:mol
"Open Babel" 3.1.1
"Open Babel" ORCA format
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2022-46290/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.