☠️
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-46294

CVE-2022-46294 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.85%
👁️
0.85% probability
21.3× 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-46294 is a critical memory corruption vulnerability affecting the Open Babel cheminformatics toolkit, specifically version 3.1.1 and the master branch commit 530dbfa3. The flaw resides in the translationVectors parsing logic across multiple file format handlers, with the MOPAC Cartesian file format being the confirmed attack vector. An attacker can craft a malformed file that, when processed by Open Babel, triggers multiple out-of-bounds write conditions, potentially leading to arbitrary code execution. With a CVSS score of 9.8, this vulnerability represents a severe risk to any environment where Open Babel processes untrusted or semi-trusted chemical file inputs, including research pipelines, web services, and automated analysis tools.

⚡ 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 class is an out-of-bounds (OOB) write, categorized under CWE-787. The NVD description indicates that the issue exists within the "translationVectors parsing functionality" and affects "multiple supported formats," though the confirmed attack vector is the MOPAC Cartesian file format. The phrasing "multiple out-of-bounds write vulnerabilities" suggests that more than one code path or parsing routine is affected, potentially indicating a systemic weakness in how the software handles coordinate transformation data embedded within structure files.

Vulnerability Mechanism (Class-Level): In typical cheminformatics parsers, when a file format includes an option to define translation vectors — mathematical constructs that offset atomic coordinates in space — the parser must read vector components, validate their count against expected structural dimensions, and write the parsed values into fixed-size memory buffers. An OOB write occurs when the parser fails to properly validate the number of components supplied by the input file or fails to check that the destination buffer has sufficient capacity. If an attacker supplies more translation vector elements than the parser expects, the write operation extends beyond the allocated heap or stack buffer, corrupting adjacent memory structures.

Attack Surface: Open Babel is widely used in computational chemistry, drug discovery, and materials science as a format conversion and analysis utility. It is frequently embedded in Python scripts (via the pybel bindings), invoked through command-line tools (obabel, babel), and integrated into web-based molecular viewing and editing platforms. Any application that ingests user-uploaded chemical files (e.g., SDF, MOL, XYZ, MOPAC, or other supported formats) and routes them through Open Babel is exposed. Given that the flaw affects multiple formats through the same translationVectors functionality, the attack surface is broader than a single file type.

Root Cause Hypothesis: Based on the vulnerability class, the root cause is likely an unchecked loop or a missing boundary check in the code that decomposes the translation vector string or numeric token stream. The absence of adequate bounds validation in the parsing routine permits a malformed file to dictate the number of write operations. Insufficient technical detail is available in the public advisory to specify the exact function names or line numbers; however, the consistent appearance of the flaw across formats suggests a shared library routine called by multiple format handlers.

Exploitation Scenarios

Step 1: Reconnaissance/Target Identification. The attacker identifies a system that processes chemical file formats. This could be a public web application offering molecular file conversion (e.g., a service that converts MOPAC Cartesian files to other formats), a research computing cluster with batch processing jobs, or a corporate environment where employees regularly open externally sourced chemical structure files in desktop tools built on Open Babel. Shodan searches for exposed web services utilizing Open Babel or common chemistry toolkits would aid target discovery.

Step 2: Triggering the Flaw. The attacker crafts a malicious MOPAC Cartesian file. The MOPAC Cartesian format (often recognized by the file extension .car or as a specific block within MOPAC input files) contains atomic coordinates and may include a section for translation vectors. The attacker includes a translation vector section (or modifies an existing one) with an excessive number of components or values that cause the parser to write beyond an allocated buffer. Because the flaw is triggered during parsing (not during execution of the file as code), simply submitting the file to a vulnerable parser is sufficient. No user interaction beyond opening/processing the file is required.

Step 3: Payload/Execution Method. The attacker leverages the OOB write to corrupt heap metadata or overwrite critical pointers within the process. In a typical heap-based OOB write chain, the attacker embeds carefully chosen values in the translation vector data that, when written out-of-bounds, overwrite the size fields of adjacent heap chunks or a function pointer. Subsequent heap operations (e.g., free() or malloc()) then yield an arbitrary-write primitive, which the attacker uses to pivot control flow to a shellcode payload. On modern Linux systems with NX (non-executable stack) and ASLR (Address Space Layout Randomization), the attacker may instead target C++ virtual table pointers or use a Return-Oriented Programming (ROP) chain to execute syscalls. Given CVSS base score of 9.8 (AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H), the exploitation is technically straightforward at the network level, requiring only low attack complexity, though it necessitates user interaction (the victim must open the file). The impact is a full cross-boundary compromise — the attacker gains code execution with the privileges of the parsing process, which, in many server-side conversion services, may be a high-privilege account.

Step 4: Post-Exploitation Impact. Once arbitrary code execution is achieved, the attacker inherits the process privileges. In a web application context, this may translate to reading/writing arbitrary files on the server, stealing database credentials, or pivoting to internal networks. In a desktop context, the attacker gains access to the victim's user account, potentially harvesting credentials, installing persistent backdoors (e.g., reverse shells), or exfiltrating proprietary chemical research data. The scope change (S:C) in the CVSS vector indicates the impact extends beyond the vulnerable component to other resources on the host.

No public PoC is available, and exploit code has not been observed in the wild; the attack chain is inferred from the vulnerability class and standard heap exploitation techniques for OOB writes in C/C++ applications.

Impact Assessment

Business Impact: Critical. The CVSS base score of 9.8 reflects a combination of high confidentiality, integrity, and availability impact with network attack vector and low complexity. For organizations in the pharmaceutical, biotech, and materials science sectors, Open Babel is a core part of research infrastructure. A successful exploit could lead to theft of proprietary compound libraries, disruption of high-throughput screening pipelines, or compromise of shared computational clusters. The low EPSS score (0.00850, 54.8th percentile) suggests that exploitation is not yet widespread, but the severity rating signals that weaponization is only a matter of time.

Affected Systems: Open Babel 3.1.1 (released prior to the master branch fix commit 530dbfa3 — which itself is vulnerable) and any master branch builds up to and including commit 530dbfa3. The distributed binaries for Linux, Windows, and macOS, as well as Python bindings (openbabel PyPI package versions within this range), are affected. Systems that have compiled Open Babel from the master branch after commit 530dbfa3 are presumed fixed, though no specific patched commit or release has been identified.

Blast Radius: The flaw affects all file formats that call into the translationVectors parsing routine. While MOPAC Cartesian is the confirmed trigger, the vulnerable routine is shared across formats, meaning unconfirmed vectors (e.g., XYZ, SDF with explicit vector fields) may also be exploitable. The attack surface includes: (1) server-side converters, (2) desktop GUI applications, (3) command-line utilities in batch processing scripts, and (4) any custom code linking against the Open Babel C++ or Python libraries.

CVSS Subscore Rationale: - Attack Vector: Network (AV:N) — file can be delivered via HTTP, email, or file share. - Attack Complexity: Low (AC:L) — no unusual conditions required. - Privileges Required: None (PR:N) — the attacker does not need access to the system. - User Interaction: Required (UI:R) — the victim must open/process the file. - Scope: Changed (S:C) — compromise may affect resources beyond the vulnerable process's security scope. - All impact metrics: High (C:H/I:H/A:H).

Detection Guidance

Sigma Rule

title: Suspicious Open Babel Process - Potential MOPAC File Parsing Exploit
id: 2f0e2c45-8d4a-4b1e-9d3f-7c8a2b5e45f1
status: experimental
description: Detects potential exploitation of CVE-2022-46294 via Open Babel process behavior when processing malformed MOPAC Cartesian files, inferred from crash patterns or anomalous process memory behavior.
logsource:
    category: process_creation
    product: linux
detection:
    selection_babel:
        Image|endswith:
            - '/obabel'
            - '/babel'
            - 'obabel.exe'
            - 'babel.exe'
    selection_filetype:
        CommandLine|contains:
            - '.car'
            - 'mopac'
    selection_long:
        CommandLine|contains:
            - '--write'
            - '-o'
    condition: selection_babel and selection_filetype and selection_long
    timeframe: 1m
    correlation:
        - selection_crash:
              EventID: 1
              Image|endswith: '/obabel'
              # Windows crash events
              EventID: 1001
    level: high
    falsepositives:
        - Legitimate batch processing of MOPAC files in research environments
    fields:
        - CommandLine
        - Image
        - ParentImage

YARA Rule

rule CVE_2022_46294_MOPAC_Parser_OOBW
{
    meta:
        author = "Valtersit Threat Intel"
        description = "Detects malformed MOPAC Cartesian files or memory artifacts associated with translation vector overflows in Open Babel 3.1.1."
        cve = "CVE-2022-46294"
        date = "2023-10-01"
        severity = "critical"
    strings:
        // Look for marker strings commonly found in MOPAC Cartesian headers
        $mopac1 = "MOPAC" ascii wide
        $mopac2 = "CARTESIAN" ascii wide
        // Translation vector section marker (context-dependent) - treat as generic keyword
        $tvect1 = "TVEC" ascii wide
        $tvect2 = "TRANSVEC" ascii wide
        // Comment or header structure patterns
        $num1 = /[0-9]{1,3}\.[0-9]{4,6}/ ascii
    condition:
        // In a file context: look for MOPAC markers and a large count of coordinate-like floats
        uint32(0) == 0x43534d4c or uint32(0) == 0x0a4d4f50 and #num1 > 50 or
        // In memory dump context: presence of MOPAC marker followed by unusual token count
        ($mopac1 or $mopac2) and ($tvect1 or $tvect2) and #num1 > 500
}

Note: YARA rules for this class of vulnerability are best deployed on file egress/ingress points and on memory snapshots of compromised processes. The rule above is a starting point; adjust numeric thresholds based on baseline file characteristics.

Suricata IDS Rule

alert http any any -> $HOME_NET any (msg:"CVE-2022-46294 Potential Open Babel MOPAC File Exploit - Content-Type; flow:established,to_server; content:"Content-Type"; http_header_names; content:"multipart/form-data"; http_header_names; content:".car"; http_uri; content:"POST"; http_method; pcre:"/filename\s*=\s*["']?[^"']+\.car/i"; classtype:attempted-user; sid:2024629401; rev:1; metadata:created_at 2023_10_01, cve CVE-2022-46294, severity critical;)

Note: This rule detects HTTP uploads of .car files (the extension for MOPAC Cartesian files) to web applications. Given that OOB writes occur after file parsing, this rule is a pre-exploitation signal. For network defense, focus on file upload endpoints serving chemistry tools.

Elastic Detection (EQL)

// Detect Open Babel process execution with a file argument that has a MOPAC Cartesian extension
// and subsequent abnormal termination (crash) - indicative of heap corruption exploit attempt.
sequence by process.entity_id
  with maxspan=30s
  [process where process.name in ("obabel", "babel", "obabel.exe", "babel.exe")
     and (process.args endsWith ".car" or process.args endsWith ".mop")]
  [process where process.name in ("obabel", "babel", "obabel.exe", "babel.exe")
     and process.exit_code in (139, 134, 11, 6)] // SIGSEGV, SIGABRT, etc.

Note: This EQL rule correlates process execution with a crash. It requires Windows/Linux event logs (Sysmon or auditd) with process exit codes.

Splunk SPL Query

index=main sourcetype=WinEventLog:Security OR sourcetype=linux_audit
  (Image="*\\obabel.exe" OR Image="*\\babel.exe" OR Image="*/obabel" OR Image="*/babel")
  | where CommandLine LIKE "%.car" OR CommandLine LIKE "%.mop" OR CommandLine LIKE "%mopac%"
  | stats count, values(CommandLine) as cmd, values(ParentImage) as parent by Image, host
  | where count > 5
  | eval risk_score = case(count > 20, "High", count > 10, "Medium", true, "Low")

Note: SPL query detects high-volume, scripted usage of Open Babel with MOPAC file input, which is anomalous unless part of known batch processing workflows.

Wazuh OSSEC Rule

<group name="open_babel_exploit,">
  <rule id="100230" level="12">
    <decoded>500</decoded>
    <match>obabel|babel</match>
    <regex>\.car|\.mop</regex>
    <description>CVE-2022-46294: Open Babel attempted to parse a MOPAC Cartesian file - potential exploit trigger. Investigate source and file content.</description>
    <group>vulnerability,</group>
    <mitre>
      <id>T1203</id>
    </mitre>
  </rule>
</group>

Note: Rule triggers on command-line arguments. For a full audit-based detection, integrate with system audit logs to catch file open events on .car files by the obabel binary.

Mitigation & Patch Guidance

Patch Confidence: 0/4 — UNPATCHED. No vendor fix, patched version, or advisory has been identified for CVE-2022-46294. The absence of patch evidence from all tracked sources (NVD, OSV, vendor channels) indicates that Open Babel has not issued a formal remediation for this vulnerability.

Immediate Mitigations (Do now):

  1. Input Sandboxing: Route all files destined for Open Babel through a sanitization layer. Strip translation vector sections from MOPAC Cartesian files before processing, or use a format converter that outputs a "clean" format (e.g., SDF without vector fields) before invoking Open Babel.
  2. Process Isolation: Run Open Babel as a low-privilege user in a containerized or virtualized environment with no network access, restrictive filesystem permissions (read-only for non-input directories), and strict memory limits (ulimit -v) to constrain the blast radius of a potential exploit.
  3. Static File Scanning: Use a YARA rule (see above) or antivirus heuristics to block known malformed MOPAC patterns at email/web gateway ingress points.
  4. Network Restriction: If Open Babel is part of a web application, place the parser service in a DMZ with no outbound network connectivity to prevent data exfiltration in case of compromise.

Patch/Upgrade Steps: No patched version exists. Monitor the Open Babel GitHub repository and mailing list for a security release. As of this analysis, the vendor has not published a fix or a commit addressing the translationVectors overflow. Refrain from assuming the master branch is safe; per the advisory, master commit 530dbfa3 is still vulnerable.

Long-Term Hardening:

  1. In-House Patch: If the organization has C++ expertise, obtain the Open Babel source code, locate the translationVectors parsing routine, and manually add bounds-checking (validate that vector_count <= allocated_size before each write). Build and distribute a patched internal fork.
  2. Dependency Auditing: Audit all applications that link against Open Babel (ldd or Python pip list) to inventory exposure. Replace with a maintained fork (e.g., the Open Babel successor "Babel2" or "RDKit" if feature-compatible).
  3. Memory Hardening: Compile Open Babel with modern exploit mitigations: -fstack-protector-strong, -D_FORTIFY_SOURCE=2, -fPIE -pie. Enable ASLR system-wide and enforce it via kernel param kernel.randomize_va_space=2.
  4. Security Testing: Integrate fuzzing (e.g., libFuzzer/AFL++) into the CI pipeline to identify similar parsing flaws before they become zero-days. Focus fuzzing on file format handlers, particularly translation vector parsing.
  5. Risk Acceptance: If Open Babel is essential and cannot be replaced, formally accept the risk in the risk register with a compensating control (e.g., mandatory SSE (Sandboxed Execution Environment)) and document it for compliance audits.

References

  1. NVD Entry — CVE-2022-46294 Details: https://nvd.nist.gov/vuln/detail/CVE-2022-46294 (NVD is the authoritative source for the description and CVSS used above).
  2. Open Babel Official Site — Project homepage and source code: https://openbabel.org/ (Monitor for future releases and security announcements).
  3. Open Babel GitHub Repository — Issue tracking and commit history: https://github.com/openbabel/openbabel (Search for "46294" or "translationVectors" for any forthcoming fixes).
  4. CWE-787 Out-of-bounds Write — MITRE CWE definition: https://cwe.mitre.org/data/definitions/787.html (Provides technical details on OOB write exploitation patterns).
  5. MITRE ATT&CK T1203 — Exploitation for Client-Side Execution: https://attack.mitre.org/techniques/T1203/ (Relevant tactics and techniques for this attack chain).

Threat Actor Campaigns / Exploit-in-the-Wild Evidence: As of the date of this report, there is no known exploitation in the wild, no CISA KEV (Known Exploited Vulnerabilities) listing, and no public PoC or Nuclei template confirming active weaponization. The EPSS score (0.00850, 54.8th percentile) is slightly above median, indicating that the vulnerability is being evaluated by automated scanners but has not yet triggered broad exploitation. However, the critical severity (9.8) and the ease of file-based delivery (AV:N) mean that threat actors focusing on research sectors may develop exploits. Organizations handling pharmaceutical or defense-related chemical data should treat this as a high-priority risk despite the lack of observed campaigns.

👁️ 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.

title:"Open Babel"
product:"Open Babel" version:"3.1.1"
"Open Babel" 3.1.1
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2022-46294/ · 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.