### Summary A memory-safety vulnerability in Open Babel's bundled zipstream decompression code caused an out-of-bounds write via overlapping `memcpy` when reading a crafted gzip-compressed chemistry file. ### Details The flaw was in `basic_unzip_streambuf::underflow`. The decompression buffer refill path invoked `memcpy` with overlapping source and destination regions, which is undefined behavior and produced out-of-bounds writes in practice. Any file format read through the gzip-wrapped reader was a potential trigger. ### 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 gzip-compressed chemistry 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/d4621d41 Originally reported as #2832; 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.
### Summary A memory-safety vulnerability in Open Babel's bundled zipstream decompression code caused an out-of-bounds write via overlapping `memcpy` when reading a crafted gzip-compressed chemistry file. ### Details The flaw was in `basic_unzip_streambuf::underflow`. The decompression buffer refill path invoked `memcpy` with overlapping source and destination regions, which is undefined behavior and produced out-of-bounds writes in practice. Any file format read through the gzip-wrapped reader was a potential trigger. ### 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 gzip-compressed chemistry 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/d4621d41 Originally reported as #2832; 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.
Update openbabel to 3.2.0 if you use the affected versions. Test the change in a non-production environment first.
Local check
hol-guard supply-chain scanOpen Babel has out-of-bounds write (overlapping memcpy) in zipstream basic_unzip_streambuf::underflow affects openbabel (pip). Severity is low. ### Summary A memory-safety vulnerability in Open Babel's bundled zipstream decompression code caused an out-of-bounds write via overlapping `memcpy` when reading a crafted gzip-compressed chemistry file. ### Details The flaw was in `basic_unzip_streambuf::underflow`. The decompression buffer refill path invoked `memcpy` with overlapping source and destination regions, which is undefined behavior and produced out-of-bounds writes in practice. Any file format read through the gzip-wrapped reader was a potential trigger. ### 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 gzip-compressed chemistry 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/d4621d41 Originally reported as #2832; 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.
AI coding agents often install or upgrade packages automatically in pip. A low vulnerability in a dependency can be pulled into a project through a normal install or update without a human reviewing the change, expanding the blast radius from a single package to every agent workspace that depends on it.
| Package | Affected range | Fixed version |
|---|---|---|
| openbabelpip | <3.2.0 | 3.2.0 |
Fixed versions are reported by the source feed; confirm compatibility before updating.
Reported by GitHub Security Advisories (ghsa).
HOL Guard can help your team review package activity against supported protection paths.
Explore HOL GuardUpdate openbabel to 3.2.0 if you use the affected versions. Test the change in a non-production environment first.
Local check
hol-guard supply-chain scanOpen Babel has out-of-bounds write (overlapping memcpy) in zipstream basic_unzip_streambuf::underflow affects openbabel (pip). Severity is low. ### Summary A memory-safety vulnerability in Open Babel's bundled zipstream decompression code caused an out-of-bounds write via overlapping `memcpy` when reading a crafted gzip-compressed chemistry file. ### Details The flaw was in `basic_unzip_streambuf::underflow`. The decompression buffer refill path invoked `memcpy` with overlapping source and destination regions, which is undefined behavior and produced out-of-bounds writes in practice. Any file format read through the gzip-wrapped reader was a potential trigger. ### 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 gzip-compressed chemistry 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/d4621d41 Originally reported as #2832; 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.
AI coding agents often install or upgrade packages automatically in pip. A low vulnerability in a dependency can be pulled into a project through a normal install or update without a human reviewing the change, expanding the blast radius from a single package to every agent workspace that depends on it.
| Package | Affected range | Fixed version |
|---|---|---|
| openbabelpip | <3.2.0 | 3.2.0 |
Fixed versions are reported by the source feed; confirm compatibility before updating.
Reported by GitHub Security Advisories (ghsa).
HOL Guard can help your team review package activity against supported protection paths.
Explore HOL Guard