CVE-2022-44451

9.8 CRITICAL

📋 TL;DR

This vulnerability allows arbitrary code execution through a use of uninitialized pointer in Open Babel's MSI format atom functionality. Attackers can trigger this by providing a specially crafted malformed file, potentially leading to full system compromise. Users of Open Babel 3.1.1 and development versions are affected.

💻 Affected Systems

Products:
  • Open Babel
Versions: 3.1.1 and master commit 530dbfa3 (development versions)
Operating Systems: All platforms running Open Babel
Default Config Vulnerable: ⚠️ Yes
Notes: Any system using Open Babel to process chemical file formats is vulnerable when handling untrusted input files.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system takeover with attacker executing arbitrary code as the Open Babel process user, potentially leading to data theft, ransomware deployment, or lateral movement.

🟠

Likely Case

Remote code execution when processing untrusted files, allowing attackers to compromise systems running vulnerable Open Babel versions.

🟢

If Mitigated

Limited impact if proper file validation and sandboxing are implemented, potentially reduced to denial of service.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires only a malicious file to be processed by vulnerable Open Babel instances.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Open Babel 3.1.2 or later

Vendor Advisory: https://github.com/openbabel/openbabel/security/advisories

Restart Required: No

Instructions:

1. Update Open Babel to version 3.1.2 or later
2. Verify the update using 'obabel --version'
3. Restart any services using Open Babel

🔧 Temporary Workarounds

Input Validation

all

Implement strict file validation before processing with Open Babel

Sandbox Execution

linux

Run Open Babel in a sandboxed/containerized environment with limited privileges

docker run --read-only --cap-drop=ALL openbabel

🧯 If You Can't Patch

  • Implement network segmentation to isolate Open Babel systems
  • Deploy application allowlisting to prevent unauthorized Open Babel execution

🔍 How to Verify

Check if Vulnerable:

Check Open Babel version with 'obabel --version' and compare to affected versions

Check Version:

obabel --version

Verify Fix Applied:

Confirm version is 3.1.2 or later with 'obabel --version'

📡 Detection & Monitoring

Log Indicators:

  • Unusual process execution from Open Babel
  • Multiple failed file parsing attempts
  • Abnormal system calls from obabel process

Network Indicators:

  • Unexpected outbound connections from systems running Open Babel
  • File uploads to systems with Open Babel services

SIEM Query:

process_name:"obabel" AND (event_type:"process_execution" OR event_type:"file_access")

🔗 References

📤 Share & Export