Vulnerability · Published Sep 30, 2026 · Assigned by GitHub_M
CVE-2026-102996pypdf: Possible large memory usage when parsing font data
High 8.7
In plain English
A high-severity uncontrolled resource consumption in pypdf from py-pdf. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 28% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
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 & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:13 | pypdf | no fix listed | DEBIAN-CVE-2026-102996 |
| Debian:14 | pypdf | 6.19.0-1 | DEBIAN-CVE-2026-102996 |
| PyPI | pypdf | 6.18.1 | PYSEC-2026-4155 |
| PyPI | pypdf | 6.18.1 | GHSA-g9cg-prrw-2r8q |
| Ubuntu:24.04:LTS | pypdf | no fix listed | UBUNTU-CVE-2026-102996 |
| Ubuntu:26.04:LTS | pypdf | no fix listed | UBUNTU-CVE-2026-102996 |
| Ubuntu:26.10 | pypdf | no fix listed | UBUNTU-CVE-2026-102996 |
| Ubuntu:22.04:LTS | pypdf2 | no fix listed | UBUNTU-CVE-2026-102996 |
| Ubuntu:24.04:LTS | pypdf2 | no fix listed | UBUNTU-CVE-2026-102996 |
Affected products (as reported)
Weakness: CWE-400 · Vector: 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
References
- https://github.com/py-pdf/pypdf/security/advisories/GHSA-g9cg-prrw-2r8q x_refsource_CONFIRM
- https://github.com/py-pdf/pypdf/pull/4072 x_refsource_MISC
- https://github.com/py-pdf/pypdf/commit/0fb26eb8cdd01c44b3b2c9fe8329751be2f7cfd5 x_refsource_MISC
- https://github.com/py-pdf/pypdf/releases/tag/6.18.1 x_refsource_MISC