pypdf: Long runtimes via repeated references to missing PDF objects
Summary
pypdf is a pure-Python PDF library that is often embedded in applications for processing PDF files. Before version 6.21.2, a crafted PDF that repeatedly references the same nonexistent indirect object forces repeated full-file recovery loads when pages or other parts are accessed. An attacker who can supply such a file to a PDF-processing service can cause very long runtimes, mainly tying up worker threads or processes (denial of service).
Affected
- pypdf versions before 6.21.2
- Exposure depends on whether your software parses PDF files from untrusted sources
Fixed in
- Fixed in pypdf 6.21.2 (released 2026-10-21)
- Later releases (for example 6.21.4) are available; deploy the newest release
- Vendor-specific distribution builds may carry backports; use them only if your platform provider ships them
Workaround
- No vendor workaround documented; upgrading is the recommended fix
- If upgrading is not possible immediately: limit upload size and page count before parsing, and run PDF parsing in a separate worker process with a timeout
Exploitation
- No evidence of exploitation in the wild found; CISA KEV not specifically verified
- No public proof-of-concept found
- EPSS score 0.00375
- CISA SSVC: exploitation none, automatable yes, technical impact partial
Our recommendation
- Identify applications and services that use pypdf, especially those processing PDFs from untrusted sources (uploads, e-mail attachments, scanners, imports)
- Upgrade pypdf to 6.21.2 or newer in the next maintenance window, sooner for internet-facing services
- Apply timeouts and resource limits to PDF processing until the upgrade is done
- Monitor for unusually long PDF processing times
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- GitHub Security Advisory GHSA-6c7f-9265-g8fw github.com
- pypdf release 6.21.2 github.com
- Fix commit 68a0e50 github.com
- Pull request #4240 github.com
- OSV entry ROOT-APP-PYPI-CVE-2026-115572 osv.dev
- GitLab advisory CVE-2026-115572 advisories.gitlab.com
- Ubuntu CVE tracker UB:CVE-2026-115572 vulners.com
- pypdf releases github.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 3 Nov 2026, 09:14.
Original description (NVD)
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.2, an attacker can craft a PDF that repeatedly references the same nonexistent indirect object, causing relevant file parts such as pages to trigger repeated full-file recovery loads and long runtimes when accessed. This issue is fixed in version 6.21.2.
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
