CVE-2025-10996
Open Babel smilesformat.cpp ParseSmiles heap-based overflow
A vulnerability was detected in Open Babel up to 3.1.1. This issue affects the function OBSmilesParser::ParseSmiles of the file /src/formats/smilesformat.cpp. Performing manipulation results in heap-based buffer overflow. The attack needs to be approached locally. The exploit is now public and may be used.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
4.8
Open Babel smilesformat.cpp ParseSmiles heap-based overflow
A vulnerability was detected in Open Babel up to 3.1.1. This issue affects the function OBSmilesParser::ParseSmiles of the file /src/formats/smilesformat.cpp. Performing manipulation results in heap-based buffer overflow. The attack needs to be approached locally. The exploit is now public and may be used.
- Record
CVE-2025-10996- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L/E:P/RL:X/RC:R - CVSS 3.0
- 5.3 Medium
CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L/E:P/RL:X/RC:R - CVSS 2.0
- 4.3
AV:L/AC:L/Au:S/C:P/I:P/A:P/E:POC/RL:ND/RC:UR - Weakness
- CWE-122, CWE-119
- Updated
- 2026-11-02
EUVDEUVD-2025-31198
4.8
Open Babel has heap buffer overflow in SMILES OBSmilesParser::ParseSmiles
- Record
EUVD-2025-31198- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-9p6c-jcw8-x98f
1.9
Duplicate Advisory: Open Babel has heap buffer overflow in SMILES OBSmilesParser::ParseSmiles
Duplicate Advisory
This advisory has been withdrawn because it is a duplicate of GHSA-j35x-w4gj-pf7w. This link is maintained to preserve external references.
Original Description
A vulnerability was detected in Open Babel up to 3.1.1. This issue affects the function OBSmilesParser::ParseSmiles of the file /src/formats/smilesformat.cpp. Performing manipulation results in heap-based buffer overflow. The attack needs to be approached locally. The exploit is now public and may be used.
- Record
GHSA-9p6c-jcw8-x98f- CVSS 4.0
- 1.9 Low
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-119
- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-j35x-w4gj-pf7w
7.8
Open Babel has heap buffer overflow in SMILES OBSmilesParser::ParseSmiles
Summary
A memory-safety vulnerability in Open Babel's SMILES parser caused a heap buffer overflow when reading a crafted input string.
Details
The flaw was in OBSmilesParser::ParseSmiles. A malformed SMILES
input caused the parser to write past the end of a heap-allocated
buffer.
Impact
Open Babel is a C++ library and CLI used to read and write chemistry
file formats; it is shipped by Linux distributions and embedded in
services that may parse untrusted input. Triggering this vulnerability
requires the victim to parse a malicious SMILES string with the
obabel tool, the OBConversion API, or any of the language
bindings (Python, Ruby, Java, R, Perl, C#, PHP). SMILES strings are
commonly passed on the command line and through scripted pipelines,
so this primitive is especially reachable.
Affected versions
All releases up to and including 3.1.1.
Patched version
3.2.0 (released 2026-05-26).
Patch
Fix commit: https://github.com/openbabel/openbabel/commit/b34cd604 Originally reported as #2831; fixes consolidated in #2913.
A minimized reproducer for this CVE is checked in under
test/files/fuzz_regress/ and is exercised on every CI build under
ASAN+UBSAN by the fuzzregresstest harness.
Credit
Reported via OSS-Fuzz.
- Record
GHSA-j35x-w4gj-pf7w- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-119
- Updated
- 2026-11-02
NVD
1.9
A vulnerability was detected in Open Babel up to 3.1.1. This issue affects the function OBSmilesParser::ParseSmiles of the file /src/formats/smilesformat.cpp. Performing manipulation results in heap-based buffer overflow. The attack needs to be approached locally. The exploit is now public and may be used.
- Record
CVE-2025-10996- CVSS 4.0
- 1.9 Low
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L - CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 4.3 Medium
AV:L/AC:L/Au:S/C:P/I:P/A:P - Weakness
- CWE-119, CWE-122
- Updated
- 2026-11-02
OSV
1.9
Open Babel smilesformat.cpp ParseSmiles heap-based overflow
A vulnerability was detected in Open Babel up to 3.1.1. This issue affects the function OBSmilesParser::ParseSmiles of the file /src/formats/smilesformat.cpp. Performing manipulation results in heap-based buffer overflow. The attack needs to be approached locally. The exploit is now public and may be used.
- Record
CVE-2025-10996- CVSS 4.0
- 1.9 Low
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P - Weakness
- CWE-119, CWE-122
- Updated
- 2026-11-02
Show 7 moreShow less
OSVDEBIAN-CVE-2025-10996
7.8
A vulnerability was detected in Open Babel up to 3.1.1. This issue affects the function OBSmilesParser::ParseSmiles of the file /src/formats/smilesformat.cpp. Performing manipulation results in heap-based buffer overflow. The attack needs to be approached locally. The exploit is now public and may be used.
- Record
DEBIAN-CVE-2025-10996- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVGHSA-9p6c-jcw8-x98f
1.9
Duplicate Advisory: Open Babel has heap buffer overflow in SMILES OBSmilesParser::ParseSmiles
Duplicate Advisory
This advisory has been withdrawn because it is a duplicate of GHSA-j35x-w4gj-pf7w. This link is maintained to preserve external references.
Original Description
A vulnerability was detected in Open Babel up to 3.1.1. This issue affects the function OBSmilesParser::ParseSmiles of the file /src/formats/smilesformat.cpp. Performing manipulation results in heap-based buffer overflow. The attack needs to be approached locally. The exploit is now public and may be used.
- Record
GHSA-9p6c-jcw8-x98f- CVSS 4.0
- 1.9 Low
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-119
- Updated
- 2026-11-02
OSVGHSA-j35x-w4gj-pf7w
7.8
Open Babel has heap buffer overflow in SMILES OBSmilesParser::ParseSmiles
Summary
A memory-safety vulnerability in Open Babel's SMILES parser caused a heap buffer overflow when reading a crafted input string.
Details
The flaw was in OBSmilesParser::ParseSmiles. A malformed SMILES
input caused the parser to write past the end of a heap-allocated
buffer.
Impact
Open Babel is a C++ library and CLI used to read and write chemistry
file formats; it is shipped by Linux distributions and embedded in
services that may parse untrusted input. Triggering this vulnerability
requires the victim to parse a malicious SMILES string with the
obabel tool, the OBConversion API, or any of the language
bindings (Python, Ruby, Java, R, Perl, C#, PHP). SMILES strings are
commonly passed on the command line and through scripted pipelines,
so this primitive is especially reachable.
Affected versions
All releases up to and including 3.1.1.
Patched version
3.2.0 (released 2026-05-26).
Patch
Fix commit: https://github.com/openbabel/openbabel/commit/b34cd604 Originally reported as #2831; fixes consolidated in #2913.
A minimized reproducer for this CVE is checked in under
test/files/fuzz_regress/ and is exercised on every CI build under
ASAN+UBSAN by the fuzzregresstest harness.
Credit
Reported via OSS-Fuzz.
- Record
GHSA-j35x-w4gj-pf7w- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-119
- Updated
- 2026-11-02
OSVPYSEC-2026-2781
7.8
Open Babel has heap buffer overflow in SMILES OBSmilesParser::ParseSmiles
Summary
A memory-safety vulnerability in Open Babel's SMILES parser caused a heap buffer overflow when reading a crafted input string.
Details
The flaw was in OBSmilesParser::ParseSmiles. A malformed SMILES
input caused the parser to write past the end of a heap-allocated
buffer.
Impact
Open Babel is a C++ library and CLI used to read and write chemistry
file formats; it is shipped by Linux distributions and embedded in
services that may parse untrusted input. Triggering this vulnerability
requires the victim to parse a malicious SMILES string with the
obabel tool, the OBConversion API, or any of the language
bindings (Python, Ruby, Java, R, Perl, C#, PHP). SMILES strings are
commonly passed on the command line and through scripted pipelines,
so this primitive is especially reachable.
Affected versions
All releases up to and including 3.1.1.
Patched version
3.2.0 (released 2026-05-26).
Patch
Fix commit: https://github.com/openbabel/openbabel/commit/b34cd604 Originally reported as #2831; fixes consolidated in #2913.
A minimized reproducer for this CVE is checked in under
test/files/fuzz_regress/ and is exercised on every CI build under
ASAN+UBSAN by the fuzzregresstest harness.
Credit
Reported via OSS-Fuzz.
- Record
PYSEC-2026-2781- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2025-10996
1.9
A vulnerability was detected in Open Babel up to 3.1.1. This issue affects the function OBSmilesParser::ParseSmiles of the file /src/formats/smilesformat.cpp. Performing manipulation results in heap-based buffer overflow. The attack needs to be approached locally. The exploit is now public and may be used.
- Record
UBUNTU-CVE-2025-10996- CVSS 4.0
- 1.9 Low
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P - CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVopenSUSE-SU-2026:10936-1 No score
libopenbabel8-3.2.0-1.1 on GA media
These are all security issues fixed in the libopenbabel8-3.2.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:10936-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21190-1 No score
Security update for openbabel
This update for openbabel fixes the following issues:
Changes in openbabel:
- Update to version 3.2.0:
- Add an L-BFGS optimizer, used by default for gen3d and conformer searches
- New macrocycle ring builder (Dale codes) for better initial 3D geometry of large rings
- Add KET (Ketcher JSON) and ChemicalJSON (.cjson) format support
- Drop Python 2 support; Python 3.13 supported
- Faster, vectorized distance-geometry implementation
- Full CMake 4 compatibility and modernized build
- Backwards compatible with 3.0 and 3.1
- Fix many crash and memory-safety bugs found via OSS-Fuzz and TALOS, including the following security issues: CVE-2022-37331 (boo#1217676), CVE-2022-41793, CVE-2022-42885, CVE-2022-43467, CVE-2022-43607, CVE-2022-44451, CVE-2022-46280, CVE-2022-46289, CVE-2022-46290, CVE-2022-46291, CVE-2022-46292, CVE-2022-46294, CVE-2022-46295, CVE-2025-10994, CVE-2025-10995, CVE-2025-10996, CVE-2025-10997, CVE-2025-10998, CVE-2025-10999, CVE-2025-11000, CVE-2026-2704 (boo#1258501), CVE-2026-2705 (boo#1258507) and CVE-2026-3408 (boo#1259041)
- Record
openSUSE-SU-2026:21190-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
openbabelPyPI |
before 3.2.0 | 3.2.0 |
openbabelDebian:12 |
All versions, plus listed versions 3.1.1+dfsg-103.1.1+dfsg-113.1.1+dfsg-123.1.1+dfsg-133.1.1+dfsg-14 Show 4 moreShow less3.1.1+dfsg-15~exp3.1.1+dfsg-93.2.0+dfsg-13.2.0+dfsg-1~exp |
None known |
openbabelDebian:13 |
All versions, plus listed versions 3.1.1+dfsg-123.1.1+dfsg-133.1.1+dfsg-143.1.1+dfsg-15~exp3.2.0+dfsg-13.2.0+dfsg-1~exp |
None known |
openbabelDebian:14 |
All versions, plus listed versions 3.1.1+dfsg-123.1.1+dfsg-133.1.1+dfsg-143.1.1+dfsg-15~exp3.2.0+dfsg-13.2.0+dfsg-1~exp |
None known |
openbabelPyPI |
before 3.2.0, plus listed versions 1.81.8.11.8.21.8.31.8.4 Show 6 moreShow less2.4.02.4.13.0.03.0.0a13.1.13.1.1.1 |
3.2.0 |
openbabelUbuntu:16.04:LTS |
All versions, plus listed versions 2.3.2+dfsg-2.22.3.2+dfsg-2.2build1 |
None known |
openbabelUbuntu:18.04:LTS |
All versions, plus listed versions 2.3.2+dfsg-3build1 |
None known |
openbabelUbuntu:20.04:LTS |
All versions, plus listed versions 2.4.1+dfsg-32.4.1+dfsg-3build12.4.1+dfsg-5.12.4.1+dfsg-63.0.0+dfsg-33.0.0+dfsg-3ubuntu3 |
None known |
openbabelUbuntu:22.04:LTS |
All versions, plus listed versions 3.1.1+dfsg-6ubuntu13.1.1+dfsg-6ubuntu5 |
None known |
openbabelUbuntu:24.04:LTS |
All versions, plus listed versions 3.1.1+dfsg-9build23.1.1+dfsg-9ubuntu13.1.1+dfsg-9ubuntu23.1.1+dfsg-9ubuntu43.1.1+dfsg-9ubuntu5 |
None known |
Show 5 moreShow less
| Package | Affected | Fixed |
|---|---|---|
openbabelUbuntu:25.10 |
All versions, plus listed versions 3.1.1+dfsg-11ubuntu33.1.1+dfsg-11ubuntu4 |
None known |
openbabelUbuntu:26.10 |
All versions, plus listed versions 3.1.1+dfsg-11ubuntu53.1.1+dfsg-14ubuntu2 |
None known |
openbabelUbuntu:26.04:LTS |
All versions, plus listed versions 3.1.1+dfsg-11ubuntu43.1.1+dfsg-11ubuntu5 |
None known |
openbabelopenSUSE:Tumbleweed From an advisory covering 8 CVEs |
before 3.2.0-1.1 | 3.2.0-1.1 |
openbabelopenSUSE:Leap 16.0 From an advisory covering 23 CVEs |
before 3.2.0-bp160.1.1 | 3.2.0-bp160.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| affected | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-10996 is a medium vulnerability (CVSS 4.8) in Openbabel Open Babel, published September 26, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.29%, the 21st percentile. Fixed in openbabel 3.2.0.
References
vuldb.com?id.325924
vuldb.com?ctiid.325924
vuldb.com?submit.654060
github.com/openbabel/openbabel/issues/2831
github.com/user-attachments/files/22318556/poc.zip
github.com/openbabel/openbabel/security/advisories/GHSA-j35x-w4gj-pf7w
Show 38 moreShow less
nvd.nist.gov/vuln/detail/CVE-2025-10996
github.com/openbabel/openbabel/pull/2913
github.com/openbabel/openbabel/commit/b34cd604
github.com/advisories/GHSA-9p6c-jcw8-x98f
github.com/advisories/GHSA-j35x-w4gj-pf7w
github.com/CVEProject/cvelistV5/tree/main/cves/2025/10xxx/CVE-2025-10996.json
security-tracker.debian.org/tracker/CVE-2025-10996
github.com/openbabel/openbabel
pypi.org/project/openbabel
ubuntu.com/security/CVE-2025-10996
cve.org/CVERecord?id=CVE-2025-10996
suse.com/security/cve/CVE-2022-37331
suse.com/security/cve/CVE-2022-43467
suse.com/security/cve/CVE-2022-46280
suse.com/security/cve/CVE-2022-46291
suse.com/security/cve/CVE-2022-46295
suse.com/security/cve/CVE-2025-10996
suse.com/security/cve/CVE-2025-10999
suse.com/security/cve/CVE-2026-2705
bugzilla.suse.com/1217676
bugzilla.suse.com/1258501
bugzilla.suse.com/1258507
bugzilla.suse.com/1259041
suse.com/security/cve/CVE-2022-41793
suse.com/security/cve/CVE-2022-42885
suse.com/security/cve/CVE-2022-43607
suse.com/security/cve/CVE-2022-44451
suse.com/security/cve/CVE-2022-46289
suse.com/security/cve/CVE-2022-46290
suse.com/security/cve/CVE-2022-46292
suse.com/security/cve/CVE-2022-46294
suse.com/security/cve/CVE-2025-10994
suse.com/security/cve/CVE-2025-10995
suse.com/security/cve/CVE-2025-10997
suse.com/security/cve/CVE-2025-10998
suse.com/security/cve/CVE-2025-11000
suse.com/security/cve/CVE-2026-2704
suse.com/security/cve/CVE-2026-3408