What’s Vulnerable › Vulnerabilities
CVE-2023-46250: pypdf possible Infinite Loop when PdfWriter(clone_from) is used with a PDF
- Severity: medium (CVSS 5.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2023-10-31 · updated 2026-06-17
- Weakness: CWE-835
Description
pypdf is a free and open-source pure-python PDF library. An attacker who uses a vulnerability present in versions 3.7.0 through 3.16.4 can craft a PDF which leads to an infinite loop. This infinite loop blocks the current process and can utilize a single core of the CPU by 100%. It does not affect memory usage. That is, for example, the case when the pypdf-user manipulates an incoming malicious PDF e.g. by merging it with another PDF or by adding annotations. The issue was fixed in version 3.17.0. As a workaround, apply the patch manually by modifying `pypdf/generic/_data_structures.py`.
Affected products
- py-pdf pypdf: from 3.7.0 before 3.17.0 — fixed in 3.17.0
How to fix
Upgrade to a fixed version: py-pdf pypdf 3.17.0. Check the vendor advisory for mitigations.
References
- https://github.com/py-pdf/pypdf/commit/9b23ac3c9619492570011d551d521690de9a3e2d
- https://github.com/py-pdf/pypdf/pull/2264
- https://github.com/py-pdf/pypdf/security/advisories/GHSA-wjcc-cq79-p63f
- https://github.com/py-pdf/pypdf/commit/9b23ac3c9619492570011d551d521690de9a3e2d
- https://github.com/py-pdf/pypdf/pull/2264
- https://github.com/py-pdf/pypdf/security/advisories/GHSA-wjcc-cq79-p63f
Get alerted when CVE-2023-46250 or the next vulnerability affects your stack