{"id":"GHSA-pph8-gcv7-4qj5","aliases":["RUSTSEC-2025-0020"],"url":"https://o3.security/vulnerability/GHSA-pph8-gcv7-4qj5","summary":"PyO3 Risk of buffer overflow in `PyString::from_object`","details":"`PyString::from_object` took `&str` arguments and forwarded them directly to the Python C API without checking for terminating nul bytes. This could lead the Python interpreter to read beyond the end of the `&str` data and potentially leak contents of the out-of-bounds read (by raising a Python exception containing a copy of the data including the overflow).\n\nIn PyO3 0.24.1 this function will now allocate a `CString` to guarantee a terminating nul bytes. PyO3 0.25 will likely offer an alternative API which takes `&CStr` arguments.","published":"2025-04-02T13:19:19Z","modified":"2026-09-10T03:50:23.976163491Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"crates.io","name":"pyo3","fixedVersion":"0.24.1"}],"fix":{"url":"https://github.com/PyO3/pyo3/pull/5008","label":"PyO3/pyo3#5008"},"references":[{"type":"WEB","url":"https://github.com/PyO3/pyo3/issues/5005"},{"type":"WEB","url":"https://github.com/PyO3/pyo3/pull/5008"},{"type":"PACKAGE","url":"https://github.com/PyO3/pyo3"},{"type":"WEB","url":"https://rustsec.org/advisories/RUSTSEC-2025-0020.html"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-09-10T03:50:23.976163491Z"}}