Description
pypdf is a free and open-source pure-python PDF library. Prior to version 6.0.0, an attacker 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. This issue has been fixed in 6.0.0. If an update is not possible, a workaround involves including the fixed code from pypdf.filters.decompress into the existing filters file.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
py-pdf pypdf
< 6.0.0affected
References
- https://github.com/py-pdf/pypdf/security/advisories/GHSA-7hfw-26vp-jp8m ↗
- https://github.com/py-pdf/pypdf/issues/3429 ↗
- https://github.com/py-pdf/pypdf/pull/3430 ↗
- https://github.com/py-pdf/pypdf/blob/0dd57738bbdcdb63f0fb43d8a6b3d222b6946595/pypdf/filters.py#L72-L143 ↗
- https://github.com/py-pdf/pypdf/releases/tag/6.0.0 ↗