Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-10996

CVE-2025-10996: Open Babel Buffer Overflow Vulnerability

CVE-2025-10996 is a heap-based buffer overflow vulnerability in Open Babel up to version 3.1.1 affecting the ParseSmiles function. This article covers the technical details, affected versions, security impact, and mitigation.

Published:

CVE-2025-10996 Overview

CVE-2025-10996 is a heap-based buffer overflow [CWE-119] in Open Babel versions up to 3.1.1. The flaw resides in the OBSmilesParser::ParseSmiles function within /src/formats/smilesformat.cpp. Open Babel is a widely used open source chemical toolbox for reading, writing, and converting molecular file formats.

An attacker with local access and low privileges can trigger the overflow by supplying a crafted SMILES input to the parser. The exploit has been publicly disclosed, increasing the likelihood of opportunistic use against unpatched installations. Public exploit code is referenced in the GitHub Issue Report and an accompanying GitHub PoC Archive.

Critical Impact

A local attacker can corrupt heap memory in Open Babel's SMILES parser, causing process crashes and potential local code execution against workflows that consume untrusted molecular input.

Affected Products

  • Open Babel versions up to and including 3.1.1
  • Applications and pipelines linking the openbabel library for SMILES parsing
  • Cheminformatics and scientific computing environments processing untrusted molecular files

Discovery Timeline

  • 2025-09-26 - CVE-2025-10996 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2025-10996

Vulnerability Analysis

The vulnerability affects OBSmilesParser::ParseSmiles, the routine responsible for parsing SMILES (Simplified Molecular Input Line Entry System) strings into Open Babel's internal molecular representation. Manipulation of parser input causes a write beyond the bounds of a heap-allocated buffer.

Heap-based buffer overflows in C++ parsers commonly result from missing bounds checks when copying tokens, atoms, or ring closure indices into fixed or under-sized heap structures. In OBSmilesParser::ParseSmiles, crafted SMILES input drives the parser into a state where it writes past its allocated region.

Exploitation requires local access. Attack complexity is low, but the impact scope is limited to the process embedding the parser. Successful exploitation can corrupt heap metadata or adjacent objects, leading to crashes, information disclosure, or execution of attacker-controlled code within the Open Babel process context.

Root Cause

The root cause is improper restriction of operations within the bounds of a memory buffer [CWE-119] in the SMILES format handler. The parser does not sufficiently validate the length or structure of tokens before writing into heap-allocated storage.

Attack Vector

An attacker delivers a malicious SMILES string or file to a user or automated process that invokes Open Babel. Common delivery paths include chemistry pipelines, batch conversion jobs, and web services that shell out to obabel. Technical details, reproduction steps, and a proof-of-concept archive are documented in the Open Babel issue tracker and VulDB entry #325924.

Detection Methods for CVE-2025-10996

Indicators of Compromise

  • Unexpected crashes, SIGSEGV, or heap corruption aborts in processes loading libopenbabel or invoking obabel
  • Presence of oversized or malformed SMILES strings in input datasets, logs, or job queues
  • Core dumps referencing OBSmilesParser::ParseSmiles in stack traces

Detection Strategies

  • Enable AddressSanitizer (ASan) in test and staging builds to surface out-of-bounds writes in the SMILES parser
  • Inspect batch conversion logs for parser errors immediately preceding process termination
  • Hash and inventory Open Babel binaries and libraries across hosts to identify vulnerable versions (≤ 3.1.1)

Monitoring Recommendations

  • Alert on repeated crash signatures in cheminformatics workloads and container restart loops
  • Monitor process telemetry for obabel child processes spawned from network-facing services
  • Track filesystem writes of .smi, .smiles, and related molecular files from untrusted sources

How to Mitigate CVE-2025-10996

Immediate Actions Required

  • Inventory all systems, containers, and virtual environments that ship or install Open Babel ≤ 3.1.1
  • Restrict execution of obabel and library callers to trusted, authenticated users pending a fix
  • Validate and sanitize SMILES input at the application boundary, rejecting overly long or malformed strings
  • Isolate batch conversion services in sandboxes or containers with minimal privileges

Patch Information

At the time of publication, no fixed release is referenced in the NVD entry. Track the upstream Open Babel issue #2831 and the project's release page for a corrected version. Rebuild and redeploy any downstream packages, Python bindings (pybel, openbabel-python), and container images once a patched upstream release is available.

Workarounds

  • Disable SMILES parsing paths in applications that accept untrusted molecular input
  • Run Open Babel operations under a dedicated low-privilege service account with no access to sensitive data
  • Enforce strict input length and character-set validation before passing strings to OBSmilesParser::ParseSmiles
  • Execute conversion workloads inside seccomp- or AppArmor-confined containers to limit post-exploit impact
bash
# Configuration example: restrict obabel to a low-privileged, sandboxed service account
sudo useradd -r -s /usr/sbin/nologin obabel-svc
sudo chown -R obabel-svc:obabel-svc /var/lib/obabel-jobs
sudo -u obabel-svc firejail --seccomp --net=none \
  obabel input.smi -O output.mol

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.