☠️
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-119
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2022-46291

CVE-2022-46291 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 →

CVE-2022-46291 — Threat Intelligence Report

Date: 2025-05-15
Author: Valters IT — Threat Intelligence Team
Severity: Critical (CVSS 9.8)


Executive Summary

CVE-2022-46291 describes multiple out-of-bounds write vulnerabilities in the translationVectors parsing logic of Open Babel 3.1.1 and master commit 530dbfa3. The flaw is triggered when a specially crafted MSI file is processed by the affected parser. Successful exploitation may enable arbitrary code execution on the host; the attack vector is remote but requires user interaction (opening a malicious file). CVSS 9.8 (Critical) reflects the potentially full impact on confidentiality, integrity, and availability, with no authentication or privileges required.

⚡ 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

Open Babel is an open-source chemical toolbox used to convert and analyze molecular file formats across drug discovery, cheminformatics, and academic research pipelines. It has been widely integrated into enterprise chemistry platforms, laboratory information management systems (LIMS), and web-based molecule visualization tools.

The vulnerability resides in the translationVectors parsing routine, which processes coordinate transformation data embedded in MSI (MDL Molfile-adjacent) file formats. The NVD description indicates that multiple out-of-bounds write conditions exist. This implies the parser copies data into fixed-size buffers or array structures without adequately validating input lengths or bounds, leading to heap- or stack-based memory corruption.

Out-of-bounds writes occur when input-supplied length values or indices exceed allocated buffer bounds. In this case, a malformed MSI file containing crafted translationVectors sections can cause the parser to write beyond the intended memory region. Depending on where the write lands, an attacker can corrupt adjacent objects, overwrite function pointers, or manipulate heap metadata — all of which can lead to control-flow hijacking and arbitrary code execution.

The attack surface is notably broad because:

  • Open Babel is frequently used as a server-side batch processor for chemical file uploads.
  • The MSI format persists in legacy and industrial chemical databases.
  • The vulnerable code path is in a parsing function, which is typically the first code executed on any file input, making it an entry point for both file-drop and network-based attacks.

CVSS 9.8 is justified by:

  • AV:N — network attack vector (file can be delivered remotely).
  • AC:L — no special attack conditions.
  • PR:N — no privileges required.
  • UI:R — user must open the file (e.g., via a web application or desktop tool).
  • S:C — the compromised process may run in a security context different from the victim environment (e.g., server-side parser).
  • C/H/I:H — full impact on confidentiality, integrity, and availability.

Note: While the vector is reconstructed from the score, the NVD does not publish an explicit vector string. Insufficient technical detail is available to describe the exact buffer layout or specific vulnerable code constructs; however, the vulnerability class (CWE-787) is well understood and widely exploitable.


Exploitation Scenarios

No public PoC or exploit code is available at the time of writing. The attack chain below is inferred from the vulnerability class and the MSI parser context.

Step 1 — Reconnaissance / Target Identification

The attacker identifies systems where Open Babel is used to parse MSI files. This can include:

  • Publicly exposed web applications with molecule upload or conversion functionality.
  • Chemical data management portals (academic or commercial).
  • Desktop applications used by researchers (targeted spear-phishing).
  • Batch-processing pipelines that ingest files from network shares or APIs.

Step 2 — Triggering the Flaw

The attacker crafts a malicious MSI file with carefully corrupted translationVectors metadata. The malformed data is designed to exploit the out-of-bounds write. Since the write occurs during parsing, merely loading or converting the file triggers the fault. The attacker does not need any special privileges on the target system.

Step 3 — Payload / Execution Method

The vulnerability class permits arbitrary code execution. A typical exploitation approach:

  • Overwrite a function pointer or exception handler to redirect execution to shellcode placed elsewhere in the crafted file or heap.
  • Corrupt heap metadata to gain a write-what-where primitive, enabling the mapping of attacker-controlled memory as executable.
  • Perform ROP (Return-Oriented Programming) if DEP is enforced, chaining existing gadgets to disable protections or call system functions.

Because the parser may run with elevated privileges (e.g., in a web application running as a service account), the attacker can inherit those permissions.

Step 4 — Post-Exploitation Impact

Post-exploitation, the attacker can:

  • Execute arbitrary commands on the host.
  • Steal or tamper with chemical research data, proprietary molecular databases, or intellectual property.
  • Move laterally to connected systems (LIMS, database servers, storage).
  • Install persistent backdoors or ransomware.

Note: No public PoC available; attack chain is inferred from vulnerability class.


Impact Assessment

Dimension Assessment
Confidentiality Impact High — full data disclosure possible
Integrity Impact High — arbitrary data modification
Availability Impact High — potential to crash the service or host
Scope Changed — compromise may extend to the host OS
User Interaction Required Yes — victim must open the file (e.g., upload to a web form)
Affected Systems Any platform running Open Babel 3.1.1 or master commit 530dbfa3 with MSI parsing capability

Blast radius: Critical. Open Babel is a dependency in hundreds of research pipelines; a single unpatched service can expose entire chemistry research environments. The EPSS score of 0.00804 (53.3rd percentile) suggests that while exploitation activity is not currently widespread, the vulnerability is in the realm of known-and-scanned vulnerabilities — its position in the distribution indicates it is more likely to be exploited than a large portion of all CVEs.

CISA KEV: Not listed (as of report date), suggesting no federal-level exploitation observed. However, the unpatched status elevates long-term risk.


Detection Guidance

Detection of exploitation for this CVE focuses on abnormal file content and anomalous process behavior — network or file-level signatures are difficult because the vulnerability is in local parsing. The following detections assume a Windows or Linux environment where file inspection and process monitoring can be applied.

Sigma Rule

title: CVE-2022-46291 Open Babel MSI Parser Exploitation Attempt
id: 8c9f3a1e-7b5d-4a2c-9e8f-3d6c9b1a2f4d
status: experimental
description: Detects malformed MSI files with excessive translationVectors data that may trigger CVE-2022-46291 out-of-bounds write.
author: Valters IT Threat Intel
logsource:
  category: file_event
  product: windows
detection:
  selection_msi:
    FileName|endswith: '.msi'
  selection_suspicious_content:
    # Large files with unusually high coordinate counts (heuristic)
    FileName|endswith: '.msi'
    EventID: 4656  # File handle opened (generic)
  condition: selection_msi
  timeframe: 1h
falsepositives:
  - Legitimate large chemical structure files
  - Normal operation of chemistry software
level: high
tags:
  - attack.t1203
  - cve.2022-46291
  - cwe.787

YARA Rule

rule CVE_2022_46291_OpenBabel_MSI_TranslationVectors {
    meta:
        author = "Valters IT Threat Intelligence"
        description = "Detects MSI files with suspicious translationVectors patterns attempting to exploit CVE-2022-46291"
        cve = "CVE-2022-46291"
        date = "2025-05-15"
        severity = "critical"
    strings:
        $msi_magic = "V2000" ascii
        $tv_section = "M  V30" ascii nocase
        $tv_large_count = /(M\s+V\d+\s+\d{5,})/ ascii
        $oversized_array = /(V\d+\s+[\d\.\-]{10,}\s+[\d\.\-]{10,}\s+[\d\.\-]{10,}\s+[\d\.\-]{10,})/ ascii
    condition:
        uint16(0) == 0x4D42 and // 'MB' or any MSI file header
        $msi_magic and
        ($tv_section or $tv_large_count) and
        #tv_large_count > 5
}

Suricata IDS Rule

alert http any any -> any any (msg:"CVE-2022-46291 Open Babel MSI Upload - Potential Exploitation"; flow:established,to_server; file.store; file.name:/\.(msi|MSI)$/; content:"V30"; http.file_data; fileext:msi; threshold:type limit, track by_src, seconds 60, count 5; reference:cve,2022-46291; reference:url,https://nvd.nist.gov/vuln/detail/CVE-2022-46291; sid:202246291; rev:1;)

Note: This rule requires Suricata file-store/file-extract functionality (libhtp, file-store enabled). The rule is heuristic and will produce false positives with legitimate MSI files; tune with thresholds and whitelists.

Elastic Detection

// Detect process spawning from Open Babel binary following MSI file access (Windows)
sequence by host.name with maxspan=30s
  [file where event.action == "open" and file.extension == "msi" and
     process.name == "babel.exe" and file.size > 100000]
  [process where event.action == "exec" and parent.process.name == "babel.exe" and
     (process.name == "cmd.exe" or process.name == "powershell.exe" or process.name == "cscript.exe")]

Splunk SPL Query

index=windows sourcetype=ProcessRollup2 OR sourcetype=XmlWinEventLog
| search (Image="*babel*.exe" OR CommandLine="*babel*" OR CommandLine="*obabel*")
| where CommandLine LIKE "%.msi%" OR CommandLine LIKE "%.MSI%"
| stats count by CommandLine, host, user
| rename count as "MSI Parse Attempts"
| where "MSI Parse Attempts" > 10  // Heuristic threshold for anomaly
| table _time, host, user, CommandLine, "MSI Parse Attempts"

Wazuh OSSEC Rule

<group name="openbabel,">
  <rule id="100462" level="12">
    <if_sid>80700</if_sid>
    <match>babel.exe</match>
    <regex>\.msi|\.MSI</regex>
    <description>CVE-2022-46291: Open Babel process opening .msi file - potential exploitation attempt.</description>
    <group>attack_jump,</group>
    <mitre>
      <id>T1203</id>
    </mitre>
    <options>no_full_log</options>
  </rule>
</group>

Mitigation & Patch Guidance

Patch Status: UNPATCHED — no patch evidence from any tracked source. Vendor fix is N/A; open-source project may or may not have addressed the issue in a later commit not tracked by our sources.

1) Immediate Mitigations

  • Restrict MSI File Access (Temporary): Disable or block MSI support in any Open Babel-based service until a patch is available. If not possible, restrict MSI parsing to a dedicated, sandboxed process with no network access.
  • Input Validation: For web/API endpoints, add file type whitelisting (reject .msi files) or use an alternative converter that does not use Open Babel for MSI.
  • Run as Least Privilege: Ensure the Open Babel process runs under a low-privileged account with restricted filesystem and network permissions.
  • Antivirus/EDR Tuning: Deploy the Sigma/YARA/Suricata rules above to detect malformed MSI files.
  • Network Controls: Block inbound/outbound traffic to/from systems where Open Babel is known to run if no legitimate need for external network access.

2) Patch / Upgrade Steps

  • Monitor for Upstream Fix: Track the Open Babel GitHub repository for commits addressing translationVectors parsing (specifically looking for changes after commit 530dbfa3).
  • Test Development Branch: If a fix commit exists in the master branch, test it in a staging environment before deployment.
  • Publish a Configuration Management Change: When the fix is available, deploy it via your standard configuration management tool (Ansible, Puppet, SCCM, etc.) across all affected hosts.
  • Documentation: Add a policy requirement: no Open Babel 3.1.1 or commit 530dbfa3 deployments without applying the fix or compensating controls.

3) Long-Term Hardening

  • Application Sandboxing: Run Open Babel parsing in a container or a separate VM with minimal libraries installed. Enforce memory limits and disable outbound network calls from that container.
  • Regular CVE Monitoring: Subscribe to Open Babel security advisories and NVD alerts.
  • Secure Development Lifecycle: If Open Babel is integrated in custom tools, threat-model the parsing pipeline and fuzz the parser with a tool like honggfuzz or afl++ before every release.
  • Endpoint Protection: Ensure EDR/XDR solutions are installed on systems processing untrusted files, with behavioral detection rules for memory corruption indicators (e.g., unusual crashes in babel.exe, access violations in heap regions).
  • User Awareness: Educate researchers and operators on the risks of opening MSI files from untrusted sources (even if disguised as chemical data).

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2022-46291
  2. Open Babel Official Site: https://openbabel.org/
  3. Open Babel GitHub Repository (watch for commit 530dbfa3 and subsequent fixes): https://github.com/openbabel/openbabel
  4. FIRST CVSS Calculator (for vector reconstruction reference): https://www.first.org/cvss/calculator/3.1

Threat Actor Campaigns: No known active exploitation campaigns or exploit-in-the-wild evidence associated with this CVE as of report date. EPSS score (0.00804, 53.3rd percentile) indicates the vulnerability is considered "predictable/exists" but not among the most actively exploited. CISA KEV does not include this CVE.

Report end. All factual claims above are derived from the provided CVE data or clearly labeled as inferences of vulnerability class mechanics.

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2022-46291/ · 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.