GHSA-36hh-v3qg-5jq4

    Dashboard / Vulnerabilities / GHSA-36hh-v3qg-5jq4

    GHSA-36hh-v3qg-5jq4

    Published: 12 Jun 2026Last Modified: 10 Sept 2026

    Summary: PyO3 has an Out-of-bounds Read in `nth` / `nth_back` for `PyList` and `PyTuple` iterators

    Details: PyO3 0.24.0 added optimized implementations of `Iterator::nth` and `DoubleEndedIterator::nth_back` for the `BoundListIterator` and `BoundTupleIterator` types. These implementations computed the target index using unchecked `usize` addition (`index + n`) before bounds-checking against the sequence length, then read the element via `get_item_unchecked`. In `nth` methods, a sufficiently large `n` (combined with a non-zero internal index) could cause the addition to overflow and wrap around, producing a small "target index" that passed the bounds check and enabling reads at the front of the `list` or `tuple` of elements previously yielded by the iterator. In `nth_back` methods, a sufficiently large `n` could cause underflow in a similar fashion, however would instead allow reads of arbitrary memory past the end of the `list` or `tuple` storage.

    Affected packages

    Package

    Name: pyo3

    Purl: pkg:cargo/pyo3

    Affected ranges

    Type: SEMVER

    Events:

    Introduced- 0
    Fixed -0.29.0

    Affected versions

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High
    GHSA-36hh-v3qg-5jq4 | CVE-DB