PyPDF's Manipulated FlateDecode streams can exhaust RAM
Description
Published to the GitHub Advisory Database
Aug 13, 2025
Reviewed
Aug 13, 2025
Published by the National Vulnerability Database
Aug 13, 2025
Last updated
Aug 14, 2025
Impact
An attacker who uses this vulnerability can craft a PDF which leads to the RAM being exhausted. This requires just reading the file if a series of FlateDecode filters is used on a malicious cross-reference stream. Other content streams are affected on explicit access.
Patches
This has been fixed in pypdf==6.0.0.
Workarounds
If you cannot upgrade yet, you might want to implement the workaround for
pypdf.filters.decompress
yourself: https://github.com/py-pdf/pypdf/blob/0dd57738bbdcdb63f0fb43d8a6b3d222b6946595/pypdf/filters.py#L72-L143References
This issue has been reported in #3429 and fixed in #3430.
References