| Name | CVE-2026-102996 |
| 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. |
| Source | CVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
The table below lists information on source packages.
| Source Package | Release | Version | Status |
|---|---|---|---|
| pypdf (PTS) | bookworm | 3.4.1-1+deb12u1 | fixed |
| trixie | 5.4.0-1 | vulnerable | |
| forky | 6.19.0-1 | fixed | |
| sid | 6.21.1-1 | fixed | |
| pypdf2 (PTS) | bookworm | 2.12.1-3+deb12u1 | fixed |
The information below is based on the following data on fixed versions.
| Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
|---|---|---|---|---|---|---|
| pypdf | source | bookworm | (not affected) | |||
| pypdf | source | (unstable) | 6.19.0-1 | |||
| pypdf2 | source | bookworm | (not affected) | |||
| pypdf2 | source | (unstable) | (unfixed) |
[trixie] - pypdf <no-dsa> (Minor issue)
[bookworm] - pypdf <not-affected> (Per-glyph /Widths map introduced in pypdf 4.0.0)
[bookworm] - pypdf2 <not-affected> (Per-glyph /Widths map introduced in pypdf 4.0.0)
https://github.com/py-pdf/pypdf/security/advisories/GHSA-g9cg-prrw-2r8q
https://github.com/py-pdf/pypdf/pull/4072
Fixed by: https://github.com/py-pdf/pypdf/commit/0fb26eb8cdd01c44b3b2c9fe8329751be2f7cfd5 (6.18.1)