{"id":"PYSEC-2026-2781","summary":"Open Babel has heap buffer overflow in SMILES OBSmilesParser::ParseSmiles","details":"### Summary\n\nA memory-safety vulnerability in Open Babel's SMILES parser caused a\nheap buffer overflow when reading a crafted input string.\n\n### Details\n\nThe flaw was in `OBSmilesParser::ParseSmiles`. A malformed SMILES\ninput caused the parser to write past the end of a heap-allocated\nbuffer.\n\n### Impact\n\nOpen Babel is a C++ library and CLI used to read and write chemistry\nfile formats; it is shipped by Linux distributions and embedded in\nservices that may parse untrusted input. Triggering this vulnerability\nrequires the victim to parse a malicious SMILES string with the\n`obabel` tool, the `OBConversion` API, or any of the language\nbindings (Python, Ruby, Java, R, Perl, C#, PHP). SMILES strings are\ncommonly passed on the command line and through scripted pipelines,\nso this primitive is especially reachable.\n\n### Affected versions\n\nAll releases up to and including 3.1.1.\n\n### Patched version\n\n3.2.0 (released 2026-05-26).\n\n### Patch\n\nFix commit: https://github.com/openbabel/openbabel/commit/b34cd604\nOriginally reported as #2831; fixes consolidated in #2913.\n\nA minimized reproducer for this CVE is checked in under\n`test/files/fuzz_regress/` and is exercised on every CI build under\nASAN+UBSAN by the `fuzzregresstest` harness.\n\n### Credit\n\nReported via OSS-Fuzz.","aliases":["CVE-2025-10996","GHSA-j35x-w4gj-pf7w"],"modified":"2026-07-13T16:31:41.488269663Z","published":"2026-07-13T15:46:25.561422Z","references":[{"type":"WEB","url":"https://github.com/openbabel/openbabel/security/advisories/GHSA-j35x-w4gj-pf7w"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-10996"},{"type":"WEB","url":"https://github.com/openbabel/openbabel/issues/2831"},{"type":"WEB","url":"https://github.com/openbabel/openbabel/pull/2913"},{"type":"WEB","url":"https://github.com/openbabel/openbabel/commit/b34cd604"},{"type":"PACKAGE","url":"https://github.com/openbabel/openbabel"},{"type":"WEB","url":"https://github.com/user-attachments/files/22318556/poc.zip"},{"type":"WEB","url":"https://vuldb.com/?ctiid.325924"},{"type":"WEB","url":"https://vuldb.com/?id.325924"},{"type":"WEB","url":"https://vuldb.com/?submit.654060"},{"type":"PACKAGE","url":"https://pypi.org/project/openbabel"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-j35x-w4gj-pf7w"}],"affected":[{"package":{"name":"openbabel","ecosystem":"PyPI","purl":"pkg:pypi/openbabel"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.0"}]}],"versions":["1.8","1.8.1","1.8.2","1.8.3","1.8.4","2.4.0","2.4.1","3.0.0","3.0.0a1","3.1.1","3.1.1.1"],"database_specific":{"source":"https://github.com/pypa/advisory-database/blob/main/vulns/openbabel/PYSEC-2026-2781.yaml"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"}]}