CVE-2026-113789
pypdf: Possible long runtimes/large memory usage when retrieving form fields
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF that causes large memory usage or long runtimes when an application retrieves the document's form fields. 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 long runtimes/large memory usage when retrieving form fields
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF that causes large memory usage or long runtimes when an application retrieves the document's form fields. This issue is fixed in version 6.21.0.
- Record
CVE-2026-113789- 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-407
- Updated
- 2026-11-02
EUVDEUVD-2026-107327
6.0
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF that causes large memory usage or long runtimes when an application retrieves the document's form fields. This issue is fixed in version 6.21.0.
- Record
EUVD-2026-107327- 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-6vvc-x485-93v7
6.0
pypdf: Possible long runtimes/large memory usage when retrieving form fields
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory usage and/or long runtimes. This requires retrieving the form fields of a document.
Patches
This has been fixed in pypdf==6.21.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #4219.
- Record
GHSA-6vvc-x485-93v7- 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-407
- 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 that causes large memory usage or long runtimes when an application retrieves the document's form fields. This issue is fixed in version 6.21.0.
- Record
CVE-2026-113789- 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-407
- Updated
- 2026-11-02
OSV
6.0
pypdf: Possible long runtimes/large memory usage when retrieving form fields
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF that causes large memory usage or long runtimes when an application retrieves the document's form fields. This issue is fixed in version 6.21.0.
- Record
CVE-2026-113789- 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-407
- Updated
- 2026-11-04
OSVDEBIAN-CVE-2026-113789
3.3
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF that causes large memory usage or long runtimes when an application retrieves the document's form fields. This issue is fixed in version 6.21.0.
- Record
DEBIAN-CVE-2026-113789- 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-03
Show 5 moreShow less
OSVGHSA-6vvc-x485-93v7
6.0
pypdf: Possible long runtimes/large memory usage when retrieving form fields
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory usage and/or long runtimes. This requires retrieving the form fields of a document.
Patches
This has been fixed in pypdf==6.21.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #4219.
- Record
GHSA-6vvc-x485-93v7- 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-407
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-113789
6.0
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF that causes large memory usage or long runtimes when an application retrieves the document's form fields. This issue is fixed in version 6.21.0.
- Record
UBUNTU-CVE-2026-113789- 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-04
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: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.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 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-113789 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.32%, the 25th percentile. Fixed in pypdf 6.21.0.
References
github.com/py-pdf/pypdf/security/advisories/GHSA-6vvc-x485-93v7
github.com/py-pdf/pypdf/pull/4219
github.com/py-pdf/pypdf/commit/5ef728f0e16d225c853e89f861ba0a67402fe3f2
github.com/py-pdf/pypdf/releases/tag/6.21.0
nvd.nist.gov/vuln/detail/CVE-2026-113789
github.com/advisories/GHSA-6vvc-x485-93v7
Show 21 moreShow less
github.com/CVEProject/cvelistV5/tree/main/cves/2026/113xxx/CVE-2026-113789.json
security-tracker.debian.org/tracker/CVE-2026-113789
github.com/py-pdf/pypdf
ubuntu.com/security/CVE-2026-113789
cve.org/CVERecord?id=CVE-2026-113789
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: 72 versions. The JSON record has them.