pypdf is a free and open-source pure-python PDF library. Prior to 6.21.3, pypdf can consume excessive memory while opening a crafted PDF containing cross-reference streams that declare very large entry counts. Highly compressible streams and /Prev chains can multiply the number of parsed entries across a document, while negative /Index counts can bypass the existing per-stream clamp. This issue is fixed in version 6.21.3.
https://github.com/py-pdf/pypdf/security/advisories/GHSA-x3rh-gjgm-fmqc
https://github.com/py-pdf/pypdf/releases/tag/6.21.3
https://github.com/py-pdf/pypdf/pull/4269
https://github.com/py-pdf/pypdf/commit/a93fe3a901fd00af38f0a105c3ba7175fa72dcb4
Published: 2026-10-29
Updated: 2026-10-31
Base Score: 4.6
Vector: CVSS2#AV:L/AC:L/Au:S/C:N/I:N/A:C
Severity: Medium
Base Score: 5.5
Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Severity: Medium
Base Score: 7.1
Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Severity: High
EPSS: 0.00268