Vulnerability · Published Mar 26, 2026 · Assigned by GitHub_M
CVE-2026-33699pypdf: Possible infinite loop during recovery attempts in DictionaryObject.read_from_stream
Medium 4.6
In plain English
A medium-severity infinite loop in pypdf from py-pdf. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 41% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
pypdf is a free and open-source pure-python PDF library. Versions prior to 6.9.2 have a vulnerability in which an attacker can craft a PDF which leads to an infinite loop. This requires reading a file in non-strict mode. This has been fixed in pypdf 6.9.2. If users cannot upgrade yet, consider applying the changes from the patch manually.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | pypdf | no fix listed | DEBIAN-CVE-2026-33699 |
| Debian:13 | pypdf | no fix listed | DEBIAN-CVE-2026-33699 |
| Debian:14 | pypdf | 6.9.2-1 | DEBIAN-CVE-2026-33699 |
| Debian:12 | pypdf2 | no fix listed | DEBIAN-CVE-2026-33699 |
| PyPI | pypdf | 6.9.2 | GHSA-87mj-5ggw-8qc3 |
| PyPI | pypdf | 6.9.2 | PYSEC-2026-3012 |
| Ubuntu:24.04:LTS | pypdf | no fix listed | UBUNTU-CVE-2026-33699 |
| Ubuntu:25.10 | pypdf | no fix listed | UBUNTU-CVE-2026-33699 |
| Ubuntu:26.04:LTS | pypdf | no fix listed | UBUNTU-CVE-2026-33699 |
| Ubuntu:22.04:LTS | pypdf2 | no fix listed | UBUNTU-CVE-2026-33699 |
| Ubuntu:24.04:LTS | pypdf2 | no fix listed | UBUNTU-CVE-2026-33699 |
Affected products (as reported)
Weakness: CWE-835 · Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U
References
- https://github.com/py-pdf/pypdf/security/advisories/GHSA-87mj-5ggw-8qc3 x_refsource_CONFIRM
- https://github.com/py-pdf/pypdf/pull/3693 x_refsource_MISC
- https://github.com/py-pdf/pypdf/releases/tag/6.9.2 x_refsource_MISC