Summary
pypdf: Possible large memory usage when parsing font data
Advisory details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory consumption. This requires parsing the /Widths entry of a TrueType or Type1 fonts with unusually large values, for example during text extraction.
Patches
This has been fixed in pypdf==6.18.1.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #4072.
References
- 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
Related vulnerabilities
All Supply chain →- MEDIUMCVE-2026-95838
containerd: Unpack DoS via repeated opaque whiteouts
- MEDIUMCVE-2026-100350
kin-openapi deepObject query decoding repeatedly compiles an invariant regular expression
- MEDIUMCVE-2026-59951
MCP Python SDK: Unbounded Session Accumulation in StreamableHTTP Transport Enables Resource Exhaustion
- MEDIUMCVE-2026-104150
AdonisJS HTTP Server: Uncontrolled Resource Consumption and Inefficient Regular Expression Complexity
- HIGHCVE-2026-72923
Microsoft.OpenApi.YamlReader vulnerable to denial of service via YAML alias expansion
- HIGHCVE-2026-107805
Nginx UI: Unauthenticated signed-request body staging can exhaust temporary storage