GHSA-7hfw-26vp-jp8m

Suggest an improvement
Source
https://github.com/advisories/GHSA-7hfw-26vp-jp8m
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/08/GHSA-7hfw-26vp-jp8m/GHSA-7hfw-26vp-jp8m.json
JSON Data
https://api.test.osv.dev/v1/vulns/GHSA-7hfw-26vp-jp8m
Aliases
Related
Published
2025-08-13T19:51:24Z
Modified
2025-08-14T14:08:20.002968Z
Severity
  • 6.6 (Medium) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U CVSS Calculator
Summary
PyPDF's Manipulated FlateDecode streams can exhaust RAM
Details

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-L143

References

This issue has been reported in #3429 and fixed in #3430.

Database specific
{
    "nvd_published_at": "2025-08-13T23:15:27Z",
    "github_reviewed_at": "2025-08-13T19:51:24Z",
    "severity": "MODERATE",
    "github_reviewed": true,
    "cwe_ids": [
        "CWE-400",
        "CWE-770"
    ]
}
References

Affected packages

PyPI / pypdf

Package

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
6.0.0

Affected versions

1.*

1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13

3.*

3.1.0
3.2.0
3.2.1
3.3.0
3.4.0
3.4.1
3.5.0
3.5.1
3.5.2
3.6.0
3.7.0
3.7.1
3.8.0
3.8.1
3.9.0
3.9.1
3.10.0
3.11.0
3.11.1
3.12.0
3.12.1
3.12.2
3.13.0
3.14.0
3.15.0
3.15.1
3.15.2
3.15.3
3.15.4
3.15.5
3.16.0
3.16.1
3.16.2
3.16.3
3.16.4
3.17.0
3.17.1
3.17.2
3.17.3
3.17.4

4.*

4.0.0
4.0.1
4.0.2
4.1.0
4.2.0
4.3.0
4.3.1

5.*

5.0.0
5.0.1
5.1.0
5.2.0
5.3.0
5.3.1
5.4.0
5.5.0
5.6.0
5.6.1
5.7.0
5.8.0
5.9.0