p PatchFirst

CVE-2026-76875

CVE-2026-76875 · PyPy pyexpat ExternalEntityParserCreate Use-After-Free

This page contains facts from public vulnerability sources. Check the original advisory before updating.

PyPy before versions 3.11.16 and 3.12.14 contains a use-after-free vulnerability in the pyexpat module's ExternalEntityParserCreate function that allows attackers to corrupt memory by supplying a crafted XML document to applications that create external-entity sub-parsers without retaining a reference to the parent parser. The child parser retains a raw C back-pointer to the parent parser struct while PyPy's tracing garbage collector can free the parent's C struct, causing bundled libexpat to dereference the freed pointer on every parsed token, producing memory corruption.

CVSS 6.3 · Medium · EPSS 0.2% · Fix available

Published
Updated

Stack: system

Affected products and versions

  • pypy

    Versions
    • ≥ 0, < 3.11.16: Affected (semver)
    • ≥ 3.12.0, < 3.12.14: Affected (semver)

    Update to 3.11.16; Update to 3.12.14

  • pypy3 Debian:12

    Versions
    • 7.3.11+dfsg-2
    • 7.3.11+dfsg-2+deb12u1
    • 7.3.11+dfsg-2+deb12u2
    • 7.3.11+dfsg-2+deb12u3
    • 7.3.12+dfsg-1
    • 7.3.12~rc1+dfsg-1
    • 7.3.12~rc2+dfsg-1
    • 7.3.13+dfsg-1
    • 7.3.14+dfsg-1
    • 7.3.15+dfsg-1
    • 7.3.16+dfsg-1
    • 7.3.16+dfsg-2
    • 7.3.17+dfsg-1
    • 7.3.17+dfsg-2
    • 7.3.17+dfsg-3
    • 7.3.18+dfsg-1
    • 7.3.18+dfsg-2
    • 7.3.19+dfsg-1
    • 7.3.19+dfsg-2
    • 7.3.20+dfsg-1
    • 7.3.20+dfsg-2
    • 7.3.20+dfsg-3
    • 7.3.20+dfsg-4
    • 7.3.21+dfsg-1
    • 7.3.21+dfsg-2
    • 7.3.21+dfsg-3
    • 7.3.21+dfsg-4
    • 7.3.22+dfsg-1
    • 7.3.23+dfsg-1
    • 7.3.23+dfsg-2
    • 8.0.0+dfsg-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • pypy3 Debian:13

    Versions
    • 7.3.19+dfsg-2
    • 7.3.20+dfsg-1
    • 7.3.20+dfsg-2
    • 7.3.20+dfsg-3
    • 7.3.20+dfsg-4
    • 7.3.21+dfsg-1
    • 7.3.21+dfsg-2
    • 7.3.21+dfsg-3
    • 7.3.21+dfsg-4
    • 7.3.22+dfsg-1
    • 7.3.23+dfsg-1
    • 7.3.23+dfsg-2
    • 8.0.0+dfsg-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • pypy3 Debian:14

    Versions
    • 7.3.19+dfsg-2
    • 7.3.20+dfsg-1
    • 7.3.20+dfsg-2
    • 7.3.20+dfsg-3
    • 7.3.20+dfsg-4
    • 7.3.21+dfsg-1
    • 7.3.21+dfsg-2
    • 7.3.21+dfsg-3
    • 7.3.21+dfsg-4
    • 7.3.22+dfsg-1
    • 7.3.23+dfsg-1
    • 7.3.23+dfsg-2
    Affected ranges
    • ECOSYSTEM: < 8.0.0+dfsg-1

    Update to 8.0.0+dfsg-1

  • pypy3 Ubuntu:20.04:LTS

    Versions
    • 7.1.1+dfsg-1
    • 7.2.0+dfsg-1
    • 7.3.0+dfsg-1
    • 7.3.0+dfsg-1ubuntu2
    • 7.3.0+dfsg-1ubuntu3
    • 7.3.1+dfsg-4
    • 7.3.1+dfsg-4ubuntu0.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • pypy3 Ubuntu:22.04:LTS

    Versions
    • 7.3.5+dfsg-2
    • 7.3.7+dfsg-1
    • 7.3.7+dfsg-4
    • 7.3.7+dfsg-5
    • 7.3.8+dfsg-2
    • 7.3.9+dfsg-1
    • 7.3.9+dfsg-1ubuntu0.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • pypy3 Ubuntu:24.04:LTS

    Versions
    • 7.3.12+dfsg-1
    • 7.3.13+dfsg-1
    • 7.3.14+dfsg-1
    • 7.3.15+dfsg-1
    • 7.3.15+dfsg-1build2
    • 7.3.15+dfsg-1build3
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • pypy3 Ubuntu:26.10

    Versions
    • 7.3.20+dfsg-4
    • 7.3.23+dfsg-1ubuntu1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • pypy3 Ubuntu:26.04:LTS

    Versions
    • 7.3.20+dfsg-3
    • 7.3.20+dfsg-4
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →