{"id":"CVE-2026-113795","kind":"vulnerability","aliases":["CVE-2026-113795","GHSA-7mh2-4gg2-979f"],"related":[],"title":"pypdf: Possible large memory usage for streams with multiple filters","description":"### Impact\n\nAn attacker who uses this vulnerability can craft a PDF which leads to large memory consumption. This requires accessing any stream with a large amount of filters or multiple filters which pass around large amounts of data.\n\n### Patches\n\nThis has been fixed in [pypdf==6.20.0](https://github.com/py-pdf/pypdf/releases/tag/6.20.0).\n\n### Workarounds\n\nIf you cannot upgrade yet, consider applying the changes from PR [#4173](https://github.com/py-pdf/pypdf/pull/4173).","summary":"pypdf, a Python PDF library, can be made to use large amounts of memory when parsing a stream with many or large chained filters. An attacker who supplies a crafted PDF can exhaust memory in the process that reads it.","severity":"medium","cvss":6.0,"epss":0.004660000093281269,"exploited":false,"exploited_at":null,"products":[{"name":"pypdf","fixed":["6.20.0"],"affected":"< 6.20.0","ecosystem":"pypi"}],"ecosystems":["pypi"],"tags":["cwe-400","cwe-770","document-processing","package","pypdf","python"],"not_affected_if":["only-trusted-pdfs","pypdf-not-used"],"how_to_check":"pip show pypdf or pip freeze | grep -i pypdf, and check whether the version is below 6.20.0.","fix":"Upgrade pypdf to 6.20.0 or later. If you cannot upgrade, apply the changes from PR #4173 in the pypdf repository.","status":"open","published_at":"2026-10-21T16:17:28+00:00","first_seen_at":"2026-10-23T19:11:32+00:00","triaged_at":"2026-10-23T20:10:24+00:00","updated_at":"2026-10-23T21:57:29+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-10-23T20:10:24Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade pypdf to 6.20.0 or later. If you cannot upgrade, apply the changes from PR #4173 in the pypdf repository.","summary":"pypdf, a Python PDF library, can be made to use large amounts of memory when parsing a stream with many or large chained filters. An attacker who supplies a crafted PDF can exhaust memory in the process that reads it.","category":"package","who_cares":["python","pypdf","document-processing"],"confidence":0.8,"analyst_note":"","how_to_check":"pip show pypdf or pip freeze | grep -i pypdf, and check whether the version is below 6.20.0.","needs_analyst":false,"not_affected_if":["pypdf-not-used","only-trusted-pdfs"],"severity_if_unknown":"medium"},"cost_usd":0.000352,"input_tokens":2138,"output_tokens":277,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-113795':13A,21A '-2026':12A,20A '-400':24B '-770':26B '/py-pdf/pypdf/pull/4173).':136C '/py-pdf/pypdf/releases/tag/6.20.0).':120C '4173':133C '4gg2':17A '6.20.0':117C '7mh2':16A '979f':18A 'access':91C 'amount':44B,97C,107C 'appli':128C 'around':105C 'attack':58B,74C 'cannot':124C 'chain':55B 'chang':130C 'consid':127C 'consumpt':88C 'craft':62B,80C 'cve':11A,19A 'cwe':23B,25B 'data':109C 'document':28B 'document-process':27B 'exhaust':65B 'filter':10A,56B,99C,102C 'fix':114C 'ghsa':15A 'ghsa-7mh2-4gg2-979f':14A 'github.com':119C,135C 'github.com/py-pdf/pypdf/pull/4173).':134C 'github.com/py-pdf/pypdf/releases/tag/6.20.0).':118C 'impact':72C 'larg':3A,43B,54B,86C,96C,106C 'lead':84C 'librari':37B 'made':40B 'mani':52B 'memori':4A,46B,66B,87C 'multipl':9A,101C 'packag':30B 'pars':48B 'pass':104C 'patch':110C 'pdf':36B,63B,82C 'possibl':2A 'pr':132C 'process':29B,69B 'pypdf':1A,22A,31B,33B,116C 'python':32B,35B 'read':71B 'requir':90C 'stream':7A,50B,93C 'suppli':60B 'upgrad':125C 'usag':5A 'use':42B,76C 'vulner':78C 'workaround':121C 'yet':126C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-21T16:17:28+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"ghsa","external_id":"GHSA-7mh2-4gg2-979f","url":"https://github.com/advisories/GHSA-7mh2-4gg2-979f","severity":"medium","published_at":"2026-10-21T16:48:30+00:00","modified_at":"2026-10-21T16:48:32+00:00","first_seen_at":"2026-10-23T19:11:32+00:00","fetched_at":"2026-10-23T19:11:32+00:00","note":null},{"source":"nvd","external_id":"CVE-2026-113795","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-113795","severity":null,"published_at":"2026-10-21T16:17:28+00:00","modified_at":"2026-10-22T16:46:48+00:00","first_seen_at":"2026-10-23T21:57:29+00:00","fetched_at":"2026-10-23T22:29:01+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}