CVE-2022-46290
Open Babel has out-of-bounds write in ORCA nAtoms parser (second variant)
Multiple out-of-bounds write vulnerabilities exist in the ORCA format nAtoms functionality of Open Babel 3.1.1 and master commit 530dbfa3. A specially-crafted malformed file can lead to arbitrary code execution. An attacker can provide a malicious file to trigger this vulnerability.The loop that stores the coordinates does not check its index against nAtoms
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
9.8
Multiple out-of-bounds write vulnerabilities exist in the ORCA format nAtoms functionality of Open Babel 3.1.1 and master commit 530dbfa3. A specially-crafted malformed file can lead to arbitrary code execution. An attacker can provide a malicious file to trigger this vulnerability.The loop that stores the coordinates does not check its index against nAtoms
- Record
CVE-2022-46290- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-122
- Updated
- 2026-11-02
EUVDEUVD-2022-49108
9.8
Multiple out-of-bounds write vulnerabilities exist in the ORCA format nAtoms functionality of Open Babel 3.1.1 and master commit 530dbfa3. A specially-crafted malformed file can lead to arbitrary code execution. An attacker can provide a malicious file to trigger this vulnerability.The loop that stores the coordinates does not check its index against nAtoms
- Record
EUVD-2022-49108- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-5rff-8f7c-8jmw
7.8
Open Babel has out-of-bounds write in ORCA nAtoms parser (second variant)
Summary
A memory-safety vulnerability in Open Babel's ORCA parser allowed an out-of-bounds write when reading a crafted input file.
Details
A second variant of the nAtoms out-of-bounds write in the ORCA
reader: a different malformed-input path produced the same class of
write past the end of the destination 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 open a malicious ORCA file with the obabel
tool, the OBConversion API, or any of the language bindings (Python,
Ruby, Java, R, Perl, C#, PHP).
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/b239d06e
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 by Cisco TALOS.
- Record
GHSA-5rff-8f7c-8jmw- 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-122, CWE-787
- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-wj42-v2p3-fq2w
9.8
Duplicate Advisory: Open Babel has out-of-bounds write in ORCA nAtoms parser (second variant)
Duplicate Advisory
This advisory has been withdrawn because it is a duplicate of GHSA-5rff-8f7c-8jmw. This link is maintained to preserve external references.
Original Description
Multiple out-of-bounds write vulnerabilities exist in the ORCA format nAtoms functionality of Open Babel 3.1.1 and master commit 530dbfa3. A specially-crafted malformed file can lead to arbitrary code execution. An attacker can provide a malicious file to trigger this vulnerability.The loop that stores the coordinates does not check its index against nAtoms
- Record
GHSA-wj42-v2p3-fq2w- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-122, CWE-787
- Updated
- 2026-11-02
NVD
9.8
Multiple out-of-bounds write vulnerabilities exist in the ORCA format nAtoms functionality of Open Babel 3.1.1 and master commit 530dbfa3. A specially-crafted malformed file can lead to arbitrary code execution. An attacker can provide a malicious file to trigger this vulnerability.The loop that stores the coordinates does not check its index against nAtoms
- Record
CVE-2022-46290- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - 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-122, CWE-787
- Updated
- 2026-11-02
OSV
7.8
Multiple out-of-bounds write vulnerabilities exist in the ORCA format nAtoms functionality of Open Babel 3.1.1 and master commit 530dbfa3. A specially-crafted malformed file can lead to arbitrary code execution. An attacker can provide a malicious file to trigger this vulnerability.The loop that stores the coordinates does not check its index against nAtoms
- Record
CVE-2022-46290- 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
Show 6 moreShow less
OSVGHSA-5rff-8f7c-8jmw
7.8
Open Babel has out-of-bounds write in ORCA nAtoms parser (second variant)
Summary
A memory-safety vulnerability in Open Babel's ORCA parser allowed an out-of-bounds write when reading a crafted input file.
Details
A second variant of the nAtoms out-of-bounds write in the ORCA
reader: a different malformed-input path produced the same class of
write past the end of the destination 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 open a malicious ORCA file with the obabel
tool, the OBConversion API, or any of the language bindings (Python,
Ruby, Java, R, Perl, C#, PHP).
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/b239d06e
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 by Cisco TALOS.
- Record
GHSA-5rff-8f7c-8jmw- 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-122, CWE-787
- Updated
- 2026-11-02
OSVGHSA-wj42-v2p3-fq2w
9.8
Duplicate Advisory: Open Babel has out-of-bounds write in ORCA nAtoms parser (second variant)
Duplicate Advisory
This advisory has been withdrawn because it is a duplicate of GHSA-5rff-8f7c-8jmw. This link is maintained to preserve external references.
Original Description
Multiple out-of-bounds write vulnerabilities exist in the ORCA format nAtoms functionality of Open Babel 3.1.1 and master commit 530dbfa3. A specially-crafted malformed file can lead to arbitrary code execution. An attacker can provide a malicious file to trigger this vulnerability.The loop that stores the coordinates does not check its index against nAtoms
- Record
GHSA-wj42-v2p3-fq2w- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-122, CWE-787
- Updated
- 2026-11-02
OSVPYSEC-2026-2773
7.8
Open Babel has out-of-bounds write in ORCA nAtoms parser (second variant)
Summary
A memory-safety vulnerability in Open Babel's ORCA parser allowed an out-of-bounds write when reading a crafted input file.
Details
A second variant of the nAtoms out-of-bounds write in the ORCA
reader: a different malformed-input path produced the same class of
write past the end of the destination 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 open a malicious ORCA file with the obabel
tool, the OBConversion API, or any of the language bindings (Python,
Ruby, Java, R, Perl, C#, PHP).
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/b239d06e
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 by Cisco TALOS.
- Record
PYSEC-2026-2773- 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-2022-46290
9.8
Multiple out-of-bounds write vulnerabilities exist in the ORCA format nAtoms functionality of Open Babel 3.1.1 and master commit 530dbfa3. A specially-crafted malformed file can lead to arbitrary code execution. An attacker can provide a malicious file to trigger this vulnerability.The loop that stores the coordinates does not check its index against nAtoms
- Record
UBUNTU-CVE-2022-46290- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - 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
OSVDEBIAN-CVE-2022-46290 No score
Multiple out-of-bounds write vulnerabilities exist in the ORCA format nAtoms functionality of Open Babel 3.1.1 and master commit 530dbfa3. A specially-crafted malformed file can lead to arbitrary code execution. An attacker can provide a malicious file to trigger this vulnerability.The loop that stores the coordinates does not check its index against nAtoms
- Record
DEBIAN-CVE-2022-46290- Updated
- 2026-11-03
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 5 moreShow less3.1.1+dfsg-15~exp3.1.1+dfsg-93.2.0+dfsg-13.2.0+dfsg-1~exp3.2.0+dfsg-2 |
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~exp3.2.0+dfsg-2 |
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~exp3.2.0+dfsg-2 |
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 4 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: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 | OSV | |
| 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-2022-46290 is a critical vulnerability (CVSS 9.8) in Open Babel Babel, published July 21, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.80%, the 56th percentile. Fixed in openbabel 3.2.0.
References
talosintelligence.com/vulnerability_reports/TALOS-2022-1665
github.com/openbabel/openbabel/security/advisories/GHSA-5rff-8f7c-8jmw
nvd.nist.gov/vuln/detail/CVE-2022-46290
github.com/openbabel/openbabel/commit/b239d06eb724bb684eea0040e9d87cf07072b081
github.com/advisories/GHSA-5rff-8f7c-8jmw
github.com/advisories/GHSA-wj42-v2p3-fq2w
Show 32 moreShow less
security-tracker.debian.org/tracker/CVE-2022-46290
github.com/openbabel/openbabel
pypi.org/project/openbabel
ubuntu.com/security/CVE-2022-46290
cve.org/CVERecord?id=CVE-2022-46290
bugzilla.suse.com/1217676
bugzilla.suse.com/1258501
bugzilla.suse.com/1258507
bugzilla.suse.com/1259041
suse.com/security/cve/CVE-2022-37331
suse.com/security/cve/CVE-2022-41793
suse.com/security/cve/CVE-2022-42885
suse.com/security/cve/CVE-2022-43467
suse.com/security/cve/CVE-2022-43607
suse.com/security/cve/CVE-2022-44451
suse.com/security/cve/CVE-2022-46280
suse.com/security/cve/CVE-2022-46289
suse.com/security/cve/CVE-2022-46290
suse.com/security/cve/CVE-2022-46291
suse.com/security/cve/CVE-2022-46292
suse.com/security/cve/CVE-2022-46294
suse.com/security/cve/CVE-2022-46295
suse.com/security/cve/CVE-2025-10994
suse.com/security/cve/CVE-2025-10995
suse.com/security/cve/CVE-2025-10996
suse.com/security/cve/CVE-2025-10997
suse.com/security/cve/CVE-2025-10998
suse.com/security/cve/CVE-2025-10999
suse.com/security/cve/CVE-2025-11000
suse.com/security/cve/CVE-2026-2704
suse.com/security/cve/CVE-2026-2705
suse.com/security/cve/CVE-2026-3408