CVE-2026-113795
pypdf: Possible large memory usage for streams with multiple filters
pypdf is a free and open-source pure-python PDF library. Prior to 6.20.0, accessing a crafted PDF stream with a large number of filters or multiple filters that pass around large amounts of data can cause large memory consumption. This issue is fixed in version 6.20.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Passive
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
6.0
pypdf: Possible large memory usage for streams with multiple filters
pypdf is a free and open-source pure-python PDF library. Prior to 6.20.0, accessing a crafted PDF stream with a large number of filters or multiple filters that pass around large amounts of data can cause large memory consumption. This issue is fixed in version 6.20.0.
- Record
CVE-2026-113795- CVSS 4.0
- 6.0 Medium
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 - Weakness
- CWE-400, CWE-770
- Updated
- 2026-11-02
EUVDEUVD-2026-107337
6.0
pypdf is a free and open-source pure-python PDF library. Prior to 6.20.0, accessing a crafted PDF stream with a large number of filters or multiple filters that pass around large amounts of data can cause large memory consumption. This issue is fixed in version 6.20.0.
- Record
EUVD-2026-107337- CVSS 4.0
- 6.0 Medium
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 - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-7mh2-4gg2-979f
6.0
pypdf: Possible large memory usage for streams with multiple filters
Impact
An 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.
Patches
This has been fixed in pypdf==6.20.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #4173.
- Record
GHSA-7mh2-4gg2-979f- CVSS 4.0
- 6.0 Medium
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 - Weakness
- CWE-400, CWE-770
- Updated
- 2026-11-02
NVD
6.0
pypdf is a free and open-source pure-python PDF library. Prior to 6.20.0, accessing a crafted PDF stream with a large number of filters or multiple filters that pass around large amounts of data can cause large memory consumption. This issue is fixed in version 6.20.0.
- Record
CVE-2026-113795- CVSS 4.0
- 6.0 Medium
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 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H - Weakness
- CWE-400, CWE-770
- Updated
- 2026-11-02
OSV
6.0
pypdf: Possible large memory usage for streams with multiple filters
pypdf is a free and open-source pure-python PDF library. Prior to 6.20.0, accessing a crafted PDF stream with a large number of filters or multiple filters that pass around large amounts of data can cause large memory consumption. This issue is fixed in version 6.20.0.
- Record
CVE-2026-113795- CVSS 4.0
- 6.0 Medium
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 - Weakness
- CWE-400, CWE-770
- Updated
- 2026-11-04
OSVDEBIAN-CVE-2026-113795
5.5
pypdf is a free and open-source pure-python PDF library. Prior to 6.20.0, accessing a crafted PDF stream with a large number of filters or multiple filters that pass around large amounts of data can cause large memory consumption. This issue is fixed in version 6.20.0.
- Record
DEBIAN-CVE-2026-113795- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H - Updated
- 2026-11-03
Show 5 moreShow less
OSVGHSA-7mh2-4gg2-979f
6.0
pypdf: Possible large memory usage for streams with multiple filters
Impact
An 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.
Patches
This has been fixed in pypdf==6.20.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #4173.
- Record
GHSA-7mh2-4gg2-979f- CVSS 4.0
- 6.0 Medium
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 - Weakness
- CWE-400, CWE-770
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-113795
6.0
pypdf is a free and open-source pure-python PDF library. Prior to 6.20.0, accessing a crafted PDF stream with a large number of filters or multiple filters that pass around large amounts of data can cause large memory consumption. This issue is fixed in version 6.20.0.
- Record
UBUNTU-CVE-2026-113795- CVSS 4.0
- 6.0 Medium
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 - CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H - Updated
- 2026-11-04
OSVCLSA-2026-1793019428 No score
TuxCare security update for pypdf (5 CVEs)
TuxCare rebuilt pypdf to address 5 CVEs. Fixed in 5.9.0.post21+tuxcare.
- Record
CLSA-2026-1793019428- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12306-1 No score
python313-pypdf-6.21.2-1.1 on GA media
These are all security issues fixed in the python313-pypdf-6.21.2-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12306-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:22188-1 No score
Security update for python-pypdf
This update for python-pypdf fixes the following issues:
Changes in python-pypdf:
- CVE-2026-113786: PDF containing image data labeled with the
/DCTDecodefilter causes Pillow to select and invoke an unintended image parser when the image is loaded (bsc#1286632) - CVE-2026-113789: crafted PDF causes large memory usage or long runtimes when an application retrieves the document's form fields (bsc#1286633)
- CVE-2026-113790: PDF containing arrays or dictionaries with many elements causes parsing to consume large amounts of memory (bsc#1286634)
- CVE-2026-113791: PDF containing a content stream with many small operations causes parsing to consume large amounts of memory (bsc#1286635)
- CVE-2026-113792: calling
PdfWriter.find_outline_itemon a crafted PDF with a cyclic outline hierarchy can enter an infinite loop and block the current process (bsc#1286636) - CVE-2026-113793: removing an object from a crafted cyclic PDF tree can enter an infinite loop and block the current process (bsc#1286637)
- CVE-2026-113794: incomplete PDF that ends inside a standard cross-reference table causes pypdf to mishandle the unexpected end of file and enter an infinite loop (bsc#1286638)
- CVE-2026-113795: accessing a crafted PDF stream with a large number of filters or multiple filters that pass around large amounts of data can cause large memory consumption (bsc#1286639)
- Record
openSUSE-SU-2026:22188-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
pypdfPyPI |
before 6.20.0 | 6.20.0 |
pypdfTuxCare:PyPI From an advisory covering 5 CVEs |
5.9.0 up to 5.9.0.post21+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 15 moreShow less5.9.0.post14+tuxcare5.9.0.post15+tuxcare5.9.0.post16+tuxcare5.9.0.post17+tuxcare5.9.0.post18+tuxcare5.9.0.post19+tuxcare5.9.0.post2+tuxcare5.9.0.post20+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.post21+tuxcare |
pypdfDebian:12 |
All versions, plus listed versions 3.17.4-13.4.1-13.4.1-1+deb12u14.0.0-14.0.0-1~exp1 Show 13 moreShow less4.0.1-14.0.2-14.1.0-14.2.0-14.3.1-15.4.0-16.19.0-16.21.0-16.21.1-16.21.4-16.9.0-16.9.2-16.9.2-2 |
None known |
pypdfDebian:13 |
All versions, plus listed versions 5.4.0-16.19.0-16.21.0-16.21.1-16.21.4-16.9.0-16.9.2-16.9.2-2 |
None known |
pypdfDebian:14 |
before 6.21.0-1, plus listed versions 5.4.0-16.19.0-16.9.0-16.9.2-16.9.2-2 |
6.21.0-1 |
pypdf2Debian:12 |
All versions, plus listed versions 2.12.1-32.12.1-3+deb12u12.12.1-4 |
None known |
pypdfPyPI |
before 6.20.0, plus listed versions 1.01.11.101.111.12 Show 45 moreShow less1.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.20.0 |
pypdf2Ubuntu:Pro:16.04:LTS |
All versions, plus listed versions 1.23+git20141008-11.25.1-11.25.1-1ubuntu0.1~esm11.25.1-1ubuntu0.1~esm2 |
None known |
pypdf2Ubuntu:Pro:18.04:LTS |
All versions, plus listed versions 1.26.0-21.26.0-2ubuntu0.1~esm11.26.0-2ubuntu0.1~esm2 |
None known |
pypdf2Ubuntu:20.04:LTS |
All versions, plus listed versions 1.26.0-21.26.0-3ubuntu11.26.0-3ubuntu1.20.04.11.26.0-3ubuntu1.20.04.2 |
None known |
Show 7 moreShow less
| Package | Affected | Fixed |
|---|---|---|
pypdf2Ubuntu:22.04:LTS |
All versions, plus listed versions 1.26.0-41.26.0-4ubuntu0.22.04.11.26.0-4ubuntu0.22.04.2 |
None known |
pypdfUbuntu: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 |
pypdf2Ubuntu:24.04:LTS |
All versions, plus listed versions 2.12.1-32.12.1-4 |
None known |
pypdfUbuntu:26.10 |
All versions, plus listed versions 6.9.2-16.9.2-2 |
None known |
pypdfUbuntu:26.04:LTS |
All versions, plus listed versions 5.4.0-16.9.2-1 |
None known |
python-pypdfopenSUSE:Tumbleweed From an advisory covering 4 CVEs |
before 6.21.2-1.1 | 6.21.2-1.1 |
python-pypdfopenSUSE:Leap 16.0 From an advisory covering 8 CVEs |
before 6.19.0-bp160.2.1 | 6.19.0-bp160.2.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | OSV | |
| facts | OSV | |
| affected | OSV | |
| references | NVD | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-113795 is a medium vulnerability (CVSS 6.0) in Py-pdf Pypdf, published October 21, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.35%, the 29th percentile. Fixed in pypdf 6.20.0.
References
github.com/py-pdf/pypdf/security/advisories/GHSA-7mh2-4gg2-979f
github.com/py-pdf/pypdf/pull/4173
github.com/py-pdf/pypdf/commit/80a84d4be6022d910874ccb0d2365400f3f0e185
github.com/py-pdf/pypdf/releases/tag/6.20.0
github.com/advisories/GHSA-7mh2-4gg2-979f
github.com/CVEProject/cvelistV5/tree/main/cves/2026/113xxx/CVE-2026-113795.json
Show 21 moreShow less
nvd.nist.gov/vuln/detail/CVE-2026-113795
security-tracker.debian.org/tracker/CVE-2026-113795
github.com/py-pdf/pypdf
ubuntu.com/security/CVE-2026-113795
cve.org/CVERecord?id=CVE-2026-113795
suse.com/security/cve/CVE-2026-113786
suse.com/security/cve/CVE-2026-113789
suse.com/security/cve/CVE-2026-113792
suse.com/security/cve/CVE-2026-113795
bugzilla.suse.com/1286632
bugzilla.suse.com/1286633
bugzilla.suse.com/1286634
bugzilla.suse.com/1286635
bugzilla.suse.com/1286636
bugzilla.suse.com/1286637
bugzilla.suse.com/1286638
bugzilla.suse.com/1286639
suse.com/security/cve/CVE-2026-113790
suse.com/security/cve/CVE-2026-113791
suse.com/security/cve/CVE-2026-113793
suse.com/security/cve/CVE-2026-113794
Left out here: 70 versions. The JSON record has them.