CVE-2026-22690Low▾ Sunlitpypdf has possible long runtimes for missing /Root object with large /Size values
▾ Sunlit zone — Low / medium · no exploitation signal
impact 13.8 · likelihood 0.1 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Jul 8.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via OSV
Last analysed / modified upstream
0.4%
0.4% → 0.4%
An attacker who exploits this vulnerability can craft a PDF which leads to possibly long runtimes for actually invalid files. This can be achieved by omitting the /Root entry in the trailer, while using a rather large /Size value. Only the non-strict reading mode is affected.
This has been fixed in pypdf==6.6.0.
from pypdf import PdfReader, PdfWriter
# Instead of
reader = PdfReader("file.pdf")
# use the strict mode:
reader = PdfReader("file.pdf", strict=True)
# Instead of
writer = PdfWriter(clone_from="file.pdf")
# use an explicit strict reader:
writer = PdfWriter(clone_from=PdfReader("file.pdf", strict=True))
This issue has been fixed in #3594.
pypdf < 6.6.0Upgrade to a patched release:
pypdf 6.6.0Connected by shared product, vendor, weakness, or advisory.
CVE-2026-22691Lowpypdf has possible long runtimes for malformed startxref
CVE-2026-82398Mediumpypdf is a free and open-source pure-python PDF library
CVE-2026-84309Mediumpypdf is a free and open-source pure-python PDF library
CVE-2026-84311Mediumpypdf is a free and open-source pure-python PDF library
CVE-2026-84310Mediumpypdf is a free and open-source pure-python PDF library
CVE-2026-71870Mediumpypdf is a free and open-source pure-python PDF library