CVE-2025-10999: Open Babel NULL pointer dereference in CacaoFormat::SetHilderbrandt

CVE-2025-10999 · Severity: medium · CVSS 5.5 · Published 2026-07-01

Open Babel is a widely used software library for processing chemical data and file formats. A vulnerability in its CACAO file parser allows an attacker to crash applications using the library by providing a specially crafted chemistry file. This could lead to a denial-of-service, affecting researchers and automated chemical analysis services that process untrusted data.

Technologies: openbabel (PyPI). Vendors: PyPI.

Quick answers

Is CVE-2025-10999 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2025-10999 being exploited in the wild.
How severe is CVE-2025-10999?
Medium severity, with a CVSS score of 5.5, published 1 July 2026.
Which products and versions are affected?
openbabel (PyPI) < 3.2.0, ECOSYSTEM:introduced=0,fixed=3.2.0.
Is there a fix for CVE-2025-10999?
Yes. openbabel (PyPI): upgrade to 3.2.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2025-10999 attacked?
It is attacked with local access, in a software library.
Am I affected by CVE-2025-10999?
Check whether you run openbabel (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • openbabel (PyPI): upgrade to 3.2.0 or later
    pip install "openbabel>=3.2.0"

Technical details

A NULL pointer dereference exists in the CacaoFormat::SetHilderbrandt function within src/formats/cacaoformat.cpp. The vulnerability is triggered when the parser applies the Hilderbrandt transformation to a malformed CACAO input file that contains invalid internal coordinate references. Specifically, the code assumes all OBAtom pointers in the internal coordinate list are valid; a crafted file can provide null or corrupted pointers, leading to a crash (SEGV) when OBAtom::GetIdx() is called. This affects the obabel CLI tool, the OBConversion API, and all language bindings. The issue is fixed in version 3.2.0.

Affected products

  • Open Babel Open Babel <= 3.1.1

Identifiers

  • CVE-2025-10999
  • GHSA-55j6-rjhx-hwfh
  • PYSEC-2026-2772

Timeline

  • 2025-09-14: disclosed: Initial bug report via OSS-Fuzz/GitHub issues
  • 2026-05-26: patched: Version 3.2.0 released
  • 2026-07-01: advisory: GitHub Advisory published

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.