CVE-2026-113790
pypdf: Possible large memory usage when parsing arrays and dictionaries
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF containing arrays or dictionaries with many elements, causing parsing to consume large amounts of memory. This issue is fixed in version 6.21.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 when parsing arrays and dictionaries
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF containing arrays or dictionaries with many elements, causing parsing to consume large amounts of memory. This issue is fixed in version 6.21.0.
- Record
CVE-2026-113790- 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-107330
6.0
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF containing arrays or dictionaries with many elements, causing parsing to consume large amounts of memory. This issue is fixed in version 6.21.0.
- Record
EUVD-2026-107330- 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-f54x-cmq8-qg57
6.0
pypdf: Possible large memory usage when parsing arrays and dictionaries
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires parsing arrays and/or dictionaries with lots of elements.
Patches
This has been fixed in pypdf==6.21.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #4218.
- Record
GHSA-f54x-cmq8-qg57- 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
- Updated
- 2026-11-02
NVD
6.0
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF containing arrays or dictionaries with many elements, causing parsing to consume large amounts of memory. This issue is fixed in version 6.21.0.
- Record
CVE-2026-113790- 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
- 3.3 Low
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L - Weakness
- CWE-400, CWE-770
- Updated
- 2026-11-05
OSV
6.0
pypdf: Possible large memory usage when parsing arrays and dictionaries
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF containing arrays or dictionaries with many elements, causing parsing to consume large amounts of memory. This issue is fixed in version 6.21.0.
- Record
CVE-2026-113790- 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-07
OSVDEBIAN-CVE-2026-113790
3.3
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF containing arrays or dictionaries with many elements, causing parsing to consume large amounts of memory. This issue is fixed in version 6.21.0.
- Record
DEBIAN-CVE-2026-113790- CVSS 3.1
- 3.3 Low
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L - Updated
- 2026-11-06
Show 4 moreShow less
OSVGHSA-f54x-cmq8-qg57
6.0
pypdf: Possible large memory usage when parsing arrays and dictionaries
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires parsing arrays and/or dictionaries with lots of elements.
Patches
This has been fixed in pypdf==6.21.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #4218.
- Record
GHSA-f54x-cmq8-qg57- 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
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-113790
6.0
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF containing arrays or dictionaries with many elements, causing parsing to consume large amounts of memory. This issue is fixed in version 6.21.0.
- Record
UBUNTU-CVE-2026-113790- 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
- 3.3 Low
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L - Updated
- 2026-11-07
OSVCLSA-2026-1793015443 No score
TuxCare security update for pypdf (6 CVEs)
TuxCare rebuilt pypdf to address 6 CVEs. Fixed in 5.9.0.post20+tuxcare.
- Record
CLSA-2026-1793015443- 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.21.0 | 6.21.0 |
pypdfTuxCare:PyPI From an advisory covering 6 CVEs |
5.9.0 up to 5.9.0.post20+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 14 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.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.post20+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.21.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.21.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 6 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: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 | |
| affected | ||
| facts, 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-113790 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.30%, the 23rd percentile. Fixed in pypdf 6.21.0.
References
github.com/py-pdf/pypdf/security/advisories/GHSA-f54x-cmq8-qg57
github.com/py-pdf/pypdf/pull/4218
github.com/py-pdf/pypdf/commit/18bd2981a74479483a0b9507602c58a63d6c9b12
github.com/py-pdf/pypdf/releases/tag/6.21.0
nvd.nist.gov/vuln/detail/CVE-2026-113790
github.com/advisories/GHSA-f54x-cmq8-qg57
Show 21 moreShow less
github.com/CVEProject/cvelistV5/tree/main/cves/2026/113xxx/CVE-2026-113790.json
security-tracker.debian.org/tracker/CVE-2026-113790
github.com/py-pdf/pypdf
ubuntu.com/security/CVE-2026-113790
cve.org/CVERecord?id=CVE-2026-113790
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-113786
suse.com/security/cve/CVE-2026-113789
suse.com/security/cve/CVE-2026-113790
suse.com/security/cve/CVE-2026-113791
suse.com/security/cve/CVE-2026-113792
suse.com/security/cve/CVE-2026-113793
suse.com/security/cve/CVE-2026-113794
suse.com/security/cve/CVE-2026-113795
Left out here: 72 versions. The JSON record has them.