{"id":"CVE-2026-102995","aliases":["GHSA-fp3h-c4fm-7vvf","PYSEC-2026-4154"],"url":"https://o3.security/vulnerability/CVE-2026-102995","summary":"pypdf: Possible large memory usage for large /ToUnicode streams (Follow-up 2)","details":"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.","published":"2026-09-30T20:01:43.354Z","modified":"2026-10-03T03:31:04.854211692Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[{"ecosystem":"PyPI","name":"pypdf","fixedVersion":"6.18.1"}],"fix":{"url":"https://github.com/py-pdf/pypdf/commit/319d0b823ce2c311a2435e9fd93c13994d32bb51","label":"py-pdf/pypdf@319d0b8"},"references":[{"type":"WEB","url":"https://github.com/py-pdf/pypdf/releases/tag/6.18.1"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/102xxx/CVE-2026-102995.json"},{"type":"ADVISORY","url":"https://github.com/py-pdf/pypdf/security/advisories/GHSA-fp3h-c4fm-7vvf"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-102995"},{"type":"FIX","url":"https://github.com/py-pdf/pypdf/commit/319d0b823ce2c311a2435e9fd93c13994d32bb51"},{"type":"FIX","url":"https://github.com/py-pdf/pypdf/pull/4071"},{"type":"PACKAGE","url":"https://github.com/py-pdf/pypdf"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-10-03T03:31:04.854211692Z"}}