Every CVE Search/ Get API key

CVE-2025-66019

pypdf manipulated LZWDecode streams can exhaust RAM

6.6 MediumFix available

pypdf is a free and open-source pure-python PDF library. Prior to version 6.4.0, an attacker who uses this vulnerability can craft a PDF which leads to a memory usage of up to 1 GB per stream. This requires parsing the content stream of a page using the LZWDecode filter. This issue has been patched in version 6.4.0.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.39%Up 0.3 points since Nov 26, 2025
90%50%10%1%

What each source reports

CVE List Score used 6.6

pypdf manipulated LZWDecode streams can exhaust RAM

pypdf is a free and open-source pure-python PDF library. Prior to version 6.4.0, an attacker who uses this vulnerability can craft a PDF which leads to a memory usage of up to 1 GB per stream. This requires parsing the content stream of a page using the LZWDecode filter. This issue has been patched in version 6.4.0.

Record
CVE-2025-66019
CVSS 4.0
6.6 MediumCVSS: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
Weakness
CWE-400, CWE-409
Updated
2026-11-02
EUVDEUVD-2025-199017 6.6

pypdf is a free and open-source pure-python PDF library. Prior to version 6.4.0, an attacker who uses this vulnerability can craft a PDF which leads to a memory usage of up to 1 GB per stream. This requires parsing the content stream of a page using the LZWDecode filter. This issue has been patched in version 6.4.0.

Record
EUVD-2025-199017
CVSS 4.0
6.6 MediumCVSS: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
Updated
2026-11-02
GitHub AdvisoriesGHSA-m449-cwjh-6pw7 6.6

pypdf's LZWDecode streams be manipulated to exhaust RAM

Impact

An attacker who uses this vulnerability can craft a PDF which leads to a memory usage of up to 1 GB per stream. This requires parsing the content stream of a page using the LZWDecode filter.

This is a follow up to GHSA-jfx9-29x2-rv3j to align the default limit with the one for zlib.

Patches

This has been fixed in pypdf==6.4.0.

Workarounds

If users cannot upgrade yet, use the line below to overwrite the default in their code:

pypdf.filters.LZW_MAX_OUTPUT_LENGTH = 75_000_000
Record
GHSA-m449-cwjh-6pw7
CVSS 4.0
6.6 MediumCVSS: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
Weakness
CWE-400, CWE-409
Updated
2026-11-02
NVD 6.6

pypdf is a free and open-source pure-python PDF library. Prior to version 6.4.0, an attacker who uses this vulnerability can craft a PDF which leads to a memory usage of up to 1 GB per stream. This requires parsing the content stream of a page using the LZWDecode filter. This issue has been patched in version 6.4.0.

Record
CVE-2025-66019
CVSS 4.0
6.6 MediumCVSS: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/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
Weakness
CWE-400, CWE-409
Updated
2026-11-02
OSV 6.6

pypdf manipulated LZWDecode streams can exhaust RAM

pypdf is a free and open-source pure-python PDF library. Prior to version 6.4.0, an attacker who uses this vulnerability can craft a PDF which leads to a memory usage of up to 1 GB per stream. This requires parsing the content stream of a page using the LZWDecode filter. This issue has been patched in version 6.4.0.

Record
CVE-2025-66019
CVSS 4.0
6.6 MediumCVSS: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
Weakness
CWE-400, CWE-409
Updated
2026-11-02
OSVGHSA-m449-cwjh-6pw7 6.6

pypdf's LZWDecode streams be manipulated to exhaust RAM

Impact

An attacker who uses this vulnerability can craft a PDF which leads to a memory usage of up to 1 GB per stream. This requires parsing the content stream of a page using the LZWDecode filter.

This is a follow up to GHSA-jfx9-29x2-rv3j to align the default limit with the one for zlib.

Patches

This has been fixed in pypdf==6.4.0.

Workarounds

If users cannot upgrade yet, use the line below to overwrite the default in their code:

pypdf.filters.LZW_MAX_OUTPUT_LENGTH = 75_000_000
Record
GHSA-m449-cwjh-6pw7
CVSS 4.0
6.6 MediumCVSS: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
Weakness
CWE-400, CWE-409
Updated
2026-11-02
Show 4 moreShow less
OSVPYSEC-2026-1832 6.6

pypdf's LZWDecode streams be manipulated to exhaust RAM

Impact

An attacker who uses this vulnerability can craft a PDF which leads to a memory usage of up to 1 GB per stream. This requires parsing the content stream of a page using the LZWDecode filter.

This is a follow up to GHSA-jfx9-29x2-rv3j to align the default limit with the one for zlib.

Patches

This has been fixed in pypdf==6.4.0.

Workarounds

If users cannot upgrade yet, use the line below to overwrite the default in their code:

pypdf.filters.LZW_MAX_OUTPUT_LENGTH = 75_000_000
Record
PYSEC-2026-1832
CVSS 4.0
6.6 MediumCVSS: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
Updated
2026-11-02
OSVUBUNTU-CVE-2025-66019 6.6

pypdf is a free and open-source pure-python PDF library. Prior to version 6.4.0, an attacker who uses this vulnerability can craft a PDF which leads to a memory usage of up to 1 GB per stream. This requires parsing the content stream of a page using the LZWDecode filter. This issue has been patched in version 6.4.0.

Record
UBUNTU-CVE-2025-66019
CVSS 4.0
6.6 MediumCVSS: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
Updated
2026-11-02
OSVCLSA-2026-1787843313 No score

TuxCare security update for pypdf (10 CVEs)

TuxCare rebuilt pypdf to address 10 CVEs. Fixed in 5.9.0.post16+tuxcare.

Record
CLSA-2026-1787843313
Updated
2026-11-02
OSVopenSUSE-SU-2025:15776-1 No score

python311-pypdf-6.4.0-1.1 on GA media

These are all security issues fixed in the python311-pypdf-6.4.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2025:15776-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
pypdf
PyPI
before 6.4.0
6.4.0
pypdf
TuxCare:PyPI
From an advisory covering 10 CVEs
5.9.0 up to 5.9.0.post16+tuxcare, plus listed versions
5.9.0.post1+tuxcare5.9.0.post10+tuxcare5.9.0.post11+tuxcare5.9.0.post12+tuxcare5.9.0.post13+tuxcare
Show 10 moreShow less
5.9.0.post14+tuxcare5.9.0.post15+tuxcare5.9.0.post2+tuxcare5.9.0.post3+tuxcare5.9.0.post4+tuxcare5.9.0.post5+tuxcare5.9.0.post6+tuxcare5.9.0.post7+tuxcare5.9.0.post8+tuxcare5.9.0.post9+tuxcare
5.9.0.post16+tuxcare
pypdf
PyPI
before 6.4.0, plus listed versions
1.01.11.101.111.12
Show 45 moreShow less
1.131.21.31.41.51.61.71.81.93.1.03.10.03.11.03.11.13.12.03.12.13.12.23.13.03.14.03.15.03.15.13.15.23.15.33.15.43.15.53.16.03.16.13.16.23.16.33.16.43.17.03.17.13.17.23.17.33.17.43.2.03.2.13.3.03.4.03.4.13.5.03.5.13.5.23.6.03.7.03.7.1
6.4.0
pypdf
Ubuntu:24.04:LTS
All versions, plus listed versions
3.4.1-13.17.4-14.0.0-14.0.1-14.0.2-1
None known
pypdf
Ubuntu:25.10
All versions, plus listed versions
4.3.1-15.4.0-1
None known
pypdf
Ubuntu:26.10
All versions, plus listed versions
6.9.2-16.9.2-2
None known
pypdf
Ubuntu:26.04:LTS
All versions, plus listed versions
5.4.0-16.9.2-1
None known
python-pypdf
openSUSE:Tumbleweed
before 6.4.0-1.1
6.4.0-1.1

History

History
RecordedChangedSources
affected, facts
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2025-66019 is a medium vulnerability (CVSS 6.6) in Py-pdf Pypdf, published November 24, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.39%, the 33rd percentile. Fixed in pypdf 6.4.0.

References

Show 7 moreShow less
This page doesn't list everything

Left out here: 31 versions. The JSON record has them.

MoveEnter Open