CVE-2026-22690
published 2026-01-10CVE-2026-22690: pypdf is a free and open-source pure-python PDF library. Prior to version 6.6.0, pypdf has possible long runtimes for missing /Root object with large /Size…
PriorityP430medium5.3CVSS 3.1
AVNACLPRNUINSUCNINAL
EPSS
0.39%
30.9th percentile
pypdf is a free and open-source pure-python PDF library. Prior to version 6.6.0, pypdf has possible long runtimes for missing /Root object with large /Size values. An attacker who uses 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 issue has been patched in version 6.6.0.
Affected
6 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | pypdf | < pypdf 6.9.0-1 (forky) | pypdf 6.9.0-1 (forky) |
| debian | pypdf2 | < pypdf 6.9.0-1 (forky) | pypdf 6.9.0-1 (forky) |
| py-pdf | pypdf | < 6.6.0 | 6.6.0 |
| pypdf_project | pypdf | < 6.6.0 | 6.6.0 |
| pypdf_project | pypdf | >= 0 < 6.9.0-1 | 6.9.0-1 |
| pypdf_project | pypdf | >= 0 < 6.6.0 | 6.6.0 |
CVSS provenance
nvdv3.15.3MEDIUMCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
nvdv4.02.7LOWCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:U/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
osv2.7LOW
vendor_debian2.7LOW
vendor_redhat2.7LOW
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
OSV
CVE-2026-22690: pypdf is a free and open-source pure-python PDF library
osv·2026-01-10·CVSS 2.7
CVE-2026-22690 [LOW] CVE-2026-22690: pypdf is a free and open-source pure-python PDF library
pypdf is a free and open-source pure-python PDF library. Prior to version 6.6.0, pypdf has possible long runtimes for missing /Root object with large /Size values. An attacker who uses 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 issue has been patched in version 6.6.0.
GHSA
pypdf has possible long runtimes for missing /Root object with large /Size values
ghsa·2026-01-09
CVE-2026-22690 [LOW] CWE-400 pypdf has possible long runtimes for missing /Root object with large /Size values
pypdf has possible long runtimes for missing /Root object with large /Size values
### Impact
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.
### Patches
This has been fixed in [pypdf==6.6.0](https://github.com/py-pdf/pypdf/releases/tag/6.6.0).
### Workarounds
```python
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",
OSV
pypdf has possible long runtimes for missing /Root object with large /Size values
osv·2026-01-09
CVE-2026-22690 [LOW] pypdf has possible long runtimes for missing /Root object with large /Size values
pypdf has possible long runtimes for missing /Root object with large /Size values
### Impact
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.
### Patches
This has been fixed in [pypdf==6.6.0](https://github.com/py-pdf/pypdf/releases/tag/6.6.0).
### Workarounds
```python
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",
Red Hat
pypdf: pypdf: Denial of Service via crafted PDF with missing /Root object
vendor_redhat·2026-01-10·CVSS 2.7
CVE-2026-22690 [LOW] CWE-400 pypdf: pypdf: Denial of Service via crafted PDF with missing /Root object
pypdf: pypdf: Denial of Service via crafted PDF with missing /Root object
pypdf is a free and open-source pure-python PDF library. Prior to version 6.6.0, pypdf has possible long runtimes for missing /Root object with large /Size values. An attacker who uses 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 issue has been patched in version 6.6.0.
A flaw was found in pypdf. A remote attacker can exploit this vulnerability by crafting a malicious PDF file that omits the /Root entry in the trailer and uses a large /Size value. This can lead to excessively long processing times when the
Debian
CVE-2026-22690: pypdf - pypdf is a free and open-source pure-python PDF library. Prior to version 6.6.0,...
vendor_debian·2026·CVSS 2.7
CVE-2026-22690 [LOW] CVE-2026-22690: pypdf - pypdf is a free and open-source pure-python PDF library. Prior to version 6.6.0,...
pypdf is a free and open-source pure-python PDF library. Prior to version 6.6.0, pypdf has possible long runtimes for missing /Root object with large /Size values. An attacker who uses 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 issue has been patched in version 6.6.0.
Scope: local
bookworm: open
forky: resolved (fixed in 6.9.0-1)
sid: resolved (fixed in 6.9.0-1)
trixie: open
No detection rules found.
No public exploits indexed.
2026-01-10
Published