py-pdf/pypdf · Security
pypdf: Possible long runtimes for repeated malformed cross-reference entries (Follow-up)
- GHSA ID
- GHSA-jr96-gvgh-j3r4
- CVE ID
- CVE-2026-115585
- Severity
- high
- Published
- Updated
- CVSS v4
- 7.1 · 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
Description
Impact
An attacker who uses this vulnerability can craft a PDF which leads to long runtimes. This requires cross-reference streams with repeated malformed cross-reference streams.
Patches
This has been fixed in pypdf==6.21.2.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #4240.
Notes
This is a follow-up to https://github.com/py-pdf/pypdf/security/advisories/GHSA-55h5-xmcq-c37v, which had the side-effect of still loading the whole stream again despite the cache being present.
CWEs
- CWE-400 · Uncontrolled Resource Consumption
- CWE-407 · Inefficient Algorithmic Complexity
References
- https://github.com/py-pdf/pypdf/security/advisories/GHSA-jr96-gvgh-j3r4 ↗
- https://github.com/py-pdf/pypdf/pull/4240 ↗
- https://github.com/py-pdf/pypdf/commit/68a0e5046cc9e14a6c24a21a713f3c7fbde18b4b ↗
- https://github.com/py-pdf/pypdf/releases/tag/6.21.2 ↗
- https://github.com/advisories/GHSA-jr96-gvgh-j3r4 ↗