CVE-2025-10997
📋 TL;DR
A heap-based buffer overflow vulnerability exists in Open Babel versions up to 3.1.1, specifically in the ChemKinFormat::CheckSpecies function. This allows local attackers to execute arbitrary code or cause denial of service by manipulating input files. Only systems running vulnerable Open Babel versions with local user access are affected.
💻 Affected Systems
- Open Babel
📦 What is this software?
Open Babel by Openbabel
⚠️ Risk & Real-World Impact
Worst Case
Local privilege escalation leading to full system compromise, data theft, or persistent backdoor installation.
Likely Case
Application crash (denial of service) or limited code execution within the context of the Open Babel process.
If Mitigated
Minimal impact if proper sandboxing, least privilege, and input validation are implemented.
🎯 Exploit Status
Proof-of-concept exploit is publicly available in the referenced GitHub attachments. Exploitation requires local access and ability to feed malicious input to the vulnerable function.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Open Babel 3.1.2 or later
Vendor Advisory: https://github.com/openbabel/openbabel/issues/2830
Restart Required: No
Instructions:
1. Check current version with 'obabel --version'. 2. Update via package manager (apt/yum/brew) or compile from source. 3. Verify update with 'obabel --version' showing 3.1.2+.
🔧 Temporary Workarounds
Restrict ChemKin file processing
allDisable or restrict processing of ChemKin format files if not required.
# Remove or restrict .inp/.ck files from user access
# Configure application to reject ChemKin inputs
🧯 If You Can't Patch
- Implement strict file input validation and sanitization for ChemKin format files.
- Run Open Babel in sandboxed/containerized environments with minimal privileges.
🔍 How to Verify
Check if Vulnerable:
Run 'obabel --version' and check if version is 3.1.1 or earlier.
Check Version:
obabel --version
Verify Fix Applied:
Confirm version is 3.1.2 or later with 'obabel --version' and test with known safe ChemKin files.
📡 Detection & Monitoring
Log Indicators:
- Application crashes with segmentation faults
- Unusual memory access patterns in system logs
- Failed ChemKin file processing attempts
Network Indicators:
- None - local exploitation only
SIEM Query:
Process:obabel AND (EventID:1000 OR ExceptionCode:c0000005)