Summary
pypdf: Possible infinite loop for not terminated inline images
Advisory details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires parsing the content stream of a page with a not terminated inline image, as done when extracting the page text for example.
Patches
This has been fixed in pypdf==6.14.1.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3891.
References
- https://github.com/advisories/GHSA-5xf7-4p34-54qr
- https://github.com/py-pdf/pypdf/security/advisories/GHSA-5xf7-4p34-54qr
- https://nvd.nist.gov/vuln/detail/CVE-2026-59936
- https://github.com/py-pdf/pypdf/pull/3891
- https://github.com/py-pdf/pypdf/commit/ec3b14596186c40caca7cf8ab9b2155203e01b5b
- https://github.com/py-pdf/pypdf/releases/tag/6.14.1
Related vulnerabilities
All Supply chain →- HIGHCVE-2026-63202
netty-incubator-codec-ohttp BinaryHttpParser: Unauthenticated CPU-exhaustion DoS via infinite loop in field-section decoding
- HIGHCVE-2026-63124
netty-incubator-codec-ohttp: Binary HTTP parser infinite loop on known-length field section boundary
- MEDIUMCVE-2026-55595
ImageMagick: Infinite Loop in connected-components when providing invalid arguments
- HIGHCVE-2026-59933
PHPSpreadsheet: XLS/OLE sector-chain self-loop causes memory exhaustion
- HIGHCVE-2026-59879
Immutable.js `List` 32-bit trie overflow → unrecoverable DoS
- MEDIUMCVE-2026-73556
vLLM: ReDoS via structured_outputs.regex in the lm-format-enforcer backend (no compile timeout) — missed sibling of GHSA-rwxx-mrjm-wc2m