Vulnerability record · CVE-2026-102994 · published 30 September 2026
CVE-2026-102994: Pypdf project pypdf uncontrolled resource consumption vulnerability
PPypdf Project · Pypdf
pypdf is a free and open-source pure-python PDF library. Prior to 6.18.0, a crafted PDF containing indirect-object identifiers or generation-number tokens that continue for a long time without whitespace can cause pypdf/_reader.py and pypdf/generic/_base.py to scan excessive input through read_until_whitespace, resulting in long runtimes and application unavailability. This issue is fixed in version 6.18.0.
Description
pypdf is a free and open-source pure-python PDF library. Prior to 6.18.0, a crafted PDF containing indirect-object identifiers or generation-number tokens that continue for a long time without whitespace can cause pypdf/_reader.py and pypdf/generic/_base.py to scan excessive input through read_until_whitespace, resulting in long runtimes and application unavailability. This issue is fixed in version 6.18.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:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:
Affected products
1 vulnerable configurations from NVD's CPE data, grouped by vendor and product.
References
| Link | Tags |
|---|---|
| https://github.com/py-pdf/pypdf/commit/82501d2993c6387833c4949d205caeb188f8bb9e | Patch |
| https://github.com/py-pdf/pypdf/pull/4055 | PatchIssue Tracking |
| https://github.com/py-pdf/pypdf/releases/tag/6.18.0 | Release Notes |
| https://github.com/py-pdf/pypdf/security/advisories/GHSA-5jq2-8x83-x246 | Vendor Advisory |
Track CVE-2026-102994 inside VULONE
Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.
Related vulnerabilities
Same products first, then exploited flaws of the same weakness class.
Source: NIST National Vulnerability Database (record CVE-2026-102994), CISA KEV, FIRST EPSS (scores of 2026-10-07). This page is refreshed as NVD updates the record.