CVE-2025-66019: py-pdf pypdf · Uncontrolled Resource Consumption
Affects py-pdf pypdfSource CVE Database V5
Not known to be exploited · CVSS 6.6 Medium : upgrade to 6.4.0 when convenient.
Data as of 26 Oct 2026, 10:12 UTC
- EPSS
- 0.3% chance of exploitation in 30 days – higher than 29% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 6.4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:UExploitation evidence
Disclosed: evidence found.
CVE published 25 Nov 2025
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade py-pdf pypdf to 6.4.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
PyPIpypdfpkg:pypi/pypdfOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
- Upgrade all instances of pypdf to version 6.4.0 or later immediately to incorporate the patch addressing this vulnerability.
- Implement strict input validation and sandboxing for PDF processing components to isolate and limit resource usage.
- Enforce memory and CPU usage limits on processes handling PDF parsing, using containerization or operating system-level controls.
- Monitor application logs and system metrics for unusual memory spikes or crashes related to PDF processing.
- Where feasible, restrict or sanitize PDFs from untrusted sources before processing.
- 7. Educate developers and system administrators about the risks of processing untrusted PDFs and the importance of timely updates.
Description
### Impact An attacker who uses this vulnerability can craft a PDF which leads to a memory usage of up to 1 GB per stream. This requires parsing the content stream of a page using the LZWDecode filter. This is a follow up to [GHSA-jfx9-29x2-rv3j](https://github.com/py-pdf/pypdf/security/advisories/GHSA-jfx9-29x2-rv3j) to align the default limit with the one for *zlib*. ### Patches This has been fixed in [pypdf==6.4.0](https://github.com/py-pdf/pypdf/releases/tag/6.4.0). ### Workarounds If users cannot upgrade yet, use the line below to overwrite the default in their code: ```python pypdf.filters.LZW_MAX_OUTPUT_LENGTH = 75_000_000 ```
References
- github.com/py-pdf/pypdf/security/advisories/GHSA-m449-cwjh-6pw7 (opens in a new tab)
- github.com/py-pdf/pypdf/commit/96186725e5e6f237129a58a97cd19204a9ce40b2 (opens in a new tab)
- github.com/py-pdf/pypdf/releases/tag/6.4.0 (opens in a new tab)
- aydinnyunus.github.io/2025/12/20/cve-2025-66019-pypdf-lzw-dos/ (opens in a new tab)