# Open Babel out-of-bounds write in PQS coord_file parser

Source: https://junglewise.ai/threats/open-babel-out-of-bounds-write-in-pqs-coord-file-parser-b8d4f94b  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2023-07-21. Updated: 2026-07-01  
License: CC BY 4.0 with a link back

Severity: critical · CVSS 9.8 · Published 2023-07-21

Open Babel is a widely used software library for converting and viewing chemical data files. A security vulnerability in how it handles certain file formats allows an attacker to execute malicious code by tricking the system into processing a specially crafted file. This could lead to a complete system takeover, data theft, or service disruption, especially for web-based chemical conversion services that use this library in their backend.

Technologies: [openbabel (PyPI)](https://junglewise.ai/threats/technologies/openbabel). Vendors: [PyPI](https://junglewise.ai/threats/vendors/pypi).

## Quick answers

**Is This vulnerability exploited in the wild?** No. Junglewise Threat Intelligence has no report of This vulnerability being exploited in the wild.

**How severe is This vulnerability?** Critical severity, with a CVSS score of 9.8, published 21 July 2023.

**Which products and versions are affected?** openbabel (PyPI) < 3.2.0.

**Is there a fix for This vulnerability?** No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.

**How is This vulnerability attacked?** It is attacked over the network or with local access, in a software library.

**Am I affected?** 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.

## Technical details

An out-of-bounds write vulnerability (CWE-787) exists in the PQS format coord_file parser within Open Babel. The root cause is an unsafe 'strcat' operation in 'formats/PQSformat.cpp' where a user-controlled string from a 'file=' parameter is concatenated to a fixed-size stack buffer ('full_coord_path') without sufficient bounds checking. An attacker can exploit this by providing a malformed PQS file, leading to a stack-based buffer overflow. While typically a local file-parsing issue, the vulnerability is rated critical (CVSS 9.8) because Open Babel is frequently used in networked backend services for automated chemical format conversion. The issue is patched in version 3.2.0.

## Affected products

- Open Babel Open Babel 3.1.1, master commit 530dbfa3, and all versions prior to 3.2.0

## Timeline

- 2023-07-21: advisory: Initial advisory published by Talos and GitHub
- 2026-07-01: other: Advisory withdrawn as a duplicate of GHSA-f29h-2h58-48r7

## References

- [https://talosintelligence.com/vulnerability_reports/TALOS-2022-1671](https://talosintelligence.com/vulnerability_reports/TALOS-2022-1671)
- [https://www.talosintelligence.com/vulnerability_reports/TALOS-2022-1671](https://www.talosintelligence.com/vulnerability_reports/TALOS-2022-1671)

## Related threats

- [Open Babel out-of-bounds write in MOPAC output parser](https://junglewise.ai/threats/cve-2022-46292-open-babel-out-of-bounds-write-in-mopac-output-parser)
- [Open Babel out-of-bounds write in MSI parser translationVectors](https://junglewise.ai/threats/cve-2022-46295-open-babel-out-of-bounds-write-in-msi-parser-translationvectors)
- [Open Babel out-of-bounds write in MOPAC input parser](https://junglewise.ai/threats/cve-2022-46294-open-babel-out-of-bounds-write-in-mopac-input-parser)
- [Open Babel out-of-bounds write in MOPAC output parser](https://junglewise.ai/threats/cve-2022-46293-open-babel-out-of-bounds-write-in-mopac-output-parser)
- [Open Babel out-of-bounds write in Gaussian translationVectors](https://junglewise.ai/threats/cve-2022-46291-open-babel-out-of-bounds-write-in-gaussian-translationvectors)
