GHSA-47qc-857f-7w7f PyO3 0.28.1 added support for `#[pyclass(extends=PyList)] struct NativeSub` (and other native types) when targeting Python 3.12 and up with the `abi3` feature.
Type confusion in PyO3 with abi3 feature allows memory corruption, potentially leading to code execution or crashes.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Not stated
- Victim action needed
- Not needed
- Fix
- Available
What is GHSA-47qc-857f-7w7f?
GHSA-47qc-857f-7w7f is a memory corruption vulnerability in pyo3, published on 18 Feb 2026.
Official description
PyO3 0.28.1 added support for #[pyclass(extends=PyList)] struct NativeSub (and other native types) when targeting Python 3.12 and up with the abi3 feature.
It was discovered that subclasses of such classes would use the type of the subclass when attempting to access to data of NativeSub contained within Python objects, amounting to memory corruption.
PyO3 0.28.2 fixed the issue by using the type of (e.g.) NativeSub correctly.
Which versions are affected by GHSA-47qc-857f-7w7f?
3 open source packages ship an affected version, including pyo3.
| Package | Affected | Fixed in |
|---|---|---|
pyo3 crates.io | From 0.28.0 | 0.28.2 |
pyo3 crates.io | From 0.28.0 | 0.28.2 |
pyo3 crates.io | From 0.28.0 | 0.28.2 |
How do I fix GHSA-47qc-857f-7w7f?
Upgrade pyo3 to 0.28.2 or later.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is GHSA-47qc-857f-7w7f being exploited?
There is no known exploitation of GHSA-47qc-857f-7w7f in the wild and no public exploit code.
Sources
Also known as RUSTSEC-2026-0013.