Summary
pypdf: Possible long runtimes with large amount of embedded files
Advisory details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to long runtimes. This requires accessing the embedded files through the dictionary-based API.
Patches
This has been fixed in pypdf==6.19.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #4081.
References
- https://github.com/advisories/GHSA-v247-6f48-mgcj
- https://github.com/py-pdf/pypdf/security/advisories/GHSA-v247-6f48-mgcj
- https://nvd.nist.gov/vuln/detail/CVE-2026-102999
- https://github.com/py-pdf/pypdf/pull/4081
- https://github.com/py-pdf/pypdf/commit/6b10556d13609a68f9ed18bb29fdd8bba88eb2c3
- https://github.com/py-pdf/pypdf/releases/tag/6.19.0
Related vulnerabilities
All Supply chain →- MEDIUMCVE-2026-95838
containerd: Unpack DoS via repeated opaque whiteouts
- MEDIUMCVE-2026-107287
Pydantic AI: Excessive resource use when local web fetching converts nested HTML
- MEDIUMCVE-2026-104844
PostCSS: Quadratic complexity in flat selector parsing allows CPU exhaustion
- MEDIUMGHSA-hx4r-w6wj-j8fg
devalue: Residual sparse-array CPU amplification in uneval
- HIGHCVE-2026-102997
pypdf: Possible long runtimes for partially malformed FlateDecode streams (Follow-up)
- HIGHCVE-2026-102994
pypdf: Possible long runtimes/large memory usage when parsing indirect objects