{"id":"CVE-2026-102995","published":"2026-09-30T21:17:06.713","lastModified":"2026-10-05T15:23:15.717","description":"pypdf is a free and open-source pure-python PDF library. Prior to 6.18.1, a crafted PDF can place unusually large source-code or destination-string tokens in a font /ToUnicode mapping, causing pypdf/_cmap.py parse_bfchar to decode and retain oversized values during operations such as text extraction and consume excessive memory. This is a second follow-up to earlier /ToUnicode resource-consumption fixes and is limited to the remaining token-length path. This issue is fixed in version 6.18.1.","cvssScore":7.5,"cvssSeverity":"HIGH","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","cwes":["CWE-400"],"vendors":["pypdf project"],"products":["pypdf"],"references":[{"url":"https://github.com/py-pdf/pypdf/commit/319d0b823ce2c311a2435e9fd93c13994d32bb51","tags":["Patch"]},{"url":"https://github.com/py-pdf/pypdf/pull/4071","tags":["Patch","Issue Tracking"]},{"url":"https://github.com/py-pdf/pypdf/releases/tag/6.18.1","tags":["Release Notes"]},{"url":"https://github.com/py-pdf/pypdf/security/advisories/GHSA-fp3h-c4fm-7vvf","tags":["Vendor Advisory"]}],"exploitRefs":[{"url":"https://github.com/py-pdf/pypdf/commit/319d0b823ce2c311a2435e9fd93c13994d32bb51","tags":["Patch"]},{"url":"https://github.com/py-pdf/pypdf/pull/4071","tags":["Patch","Issue Tracking"]},{"url":"https://github.com/py-pdf/pypdf/releases/tag/6.18.1","tags":["Release Notes"]},{"url":"https://github.com/py-pdf/pypdf/security/advisories/GHSA-fp3h-c4fm-7vvf","tags":["Vendor Advisory"]}],"hasPoc":true,"ai":{"summary":"The pypdf library is vulnerable to a memory exhaustion attack through crafted PDF files that contain oversized font mapping tokens in the /ToUnicode table. This allows attackers to cause excessive memory consumption during text extraction operations, potentially leading to denial of service.","exploitability":"Exploitation is relatively straightforward as it requires only a specially crafted PDF file with oversized tokens in font mapping tables, with no user interaction or authentication required.","blast_radius":"The impact could be significant across any system using pypdf for PDF text extraction, particularly web applications processing untrusted PDF uploads, potentially causing widespread service disruption.","remediation":"Upgrade to pypdf version 6.18.1 or later to address this memory exhaustion vulnerability.","detection":"No reliable host or network indicator is derivable from the published description.","tags":["memory-exhaustion","pdf","denial-of-service","library-vulnerability"],"model":"garnet-coder","analyzedAt":"2026-10-13T09:07:38.172Z"}}