pypdf can use excessive memory when opening a crafted PDF
A specially crafted PDF file can make the pypdf Python library use up huge amounts of memory and slow or crash the program that opens it. Opening an untrusted PDF is the main risk.
| Severity | HighCVSS 7.1 of 10 |
|---|---|
| Being exploited? | UnclearNo reports either way yet |
| Fix available? | Yespypdf 6.21.3 · since 30 Oct 2026 |
| How sure is this? | Official, 2 sourcesBacked by an official source |
How the attack works simplified
- 1Attacker crafts PDFAdds cross-reference streams with huge entry counts
- 2PDF is deliveredUploaded or sent to a service
- 3pypdf opens fileParses the malicious cross-reference data
- 4Memory exhaustedParsed entries multiply across the document
- ResultService slows down or crashes
What happened
pypdf versions before 6.21.3 consume excessive memory when parsing PDFs with cross-reference streams that declare very large entry counts, because compressible streams and /Prev chains multiply parsed entries and negative /Index counts bypass the existing clamp.
Are you affected?
You are affected if you use pypdf older than 6.21.3 to open PDF files that may come from untrusted sources.
| Package / product | Affected versions | Fixed in |
|---|---|---|
| pypdf · pip | < 6.21.3 | 6.21.3 |
What to do
- Update pypdf to version 6.21.3 or later (pip install --upgrade pypdf)
- If you cannot upgrade yet, apply the changes from PR #4269 in the pypdf repository
- Limit memory for processes that open untrusted PDFs until patched
Timeline
- 29 Oct 2026, 21:17 UTCPublicly disclosed
- 29 Oct 2026, 21:17 UTCReported by NVD · NVD
- 29 Oct 2026, 21:21 UTCPicked up by Zero Radar
- 30 Oct 2026, 23:08 UTCGitHub Advisory reported on it · GitHub Advisory
- 30 Oct 2026, 23:08 UTCFixed version published: pypdf 6.21.3 · GitHub Advisory
Sources 2 reports, oldest first
Official vendor, government CERT or advisory database
- CVE-2026-119209NVD · 29 Oct 2026, 21:17 UTC
- pypdf has possible large memory usage when parsing cross-reference streamsGitHub Advisory · 30 Oct 2026, 23:07 UTC
Technical details
- ID
- CVE-2026-119209 · GHSA-x3rh-gjgm-fmqc
- CVSS
- 7.1 / 10
- Disclosed
- 29 Oct 2026, 21:17 UTC
- On Zero Radar
- 29 Oct 2026, 21:21 UTC (4 min after disclosure)
- Last change
- 30 Oct 2026, 23:08 UTC
The plain-language parts and the attack diagram were written by an AI model (anthropic/claude-haiku-5.5) from the sources above. Facts like versions, exploitation and dates come from the sources themselves. How Zero Radar works