high7.5
CVE-2026-102996
pypdf: Possible large memory usage when parsing font data
Impact
pypdf is a free and open-source pure-python PDF library. Prior to 6.18.1, a crafted PDF can provide a TrueType or Type1 simple font with an unusually large /Widths array, causing pypdf/_font.py Font._collect_tt_t1_character_widths to process entries beyond the 256 character codes meaningful for a simple font and consume excessive memory during operations such as text extraction. This issue is fixed in version 6.18.1.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | pypdf | < 6.18.1 | 6.18.1 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Pypdf Project | Pypdf | before 6.18.1 |
| Py-Pdf | Pypdf | before 6.18.1 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-g9cg-prrw-2r8q
- https://github.com/py-pdf/pypdf/security/advisories/GHSA-g9cg-prrw-2r8q
- https://nvd.nist.gov/vuln/detail/CVE-2026-102996
- https://github.com/py-pdf/pypdf/pull/4072
- https://github.com/py-pdf/pypdf/commit/0fb26eb8cdd01c44b3b2c9fe8329751be2f7cfd5
- https://github.com/py-pdf/pypdf/releases/tag/6.18.1