CVE-2026-119203
pypdf: Possible infinite loop when hitting EOF in standard xref table during trailer search
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.4, pypdf can enter an infinite loop while opening a crafted incomplete PDF whose standard cross-reference table reaches the end of the file without a trailer. The trailer search can repeatedly rewind to the same stream position instead of terminating when parsing makes no progress, blocking the processing thread. This issue is fixed in version 6.21.4.
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
7.1
pypdf: Possible infinite loop when hitting EOF in standard xref table during trailer search
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.4, pypdf can enter an infinite loop while opening a crafted incomplete PDF whose standard cross-reference table reaches the end of the file without a trailer. The trailer search can repeatedly rewind to the same stream position instead of terminating when parsing makes no progress, blocking the processing thread. This issue is fixed in version 6.21.4.
- Record
CVE-2026-119203- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-835
- Updated
- 2026-11-02
EUVDEUVD-2026-113374
7.1
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.4, pypdf can enter an infinite loop while opening a crafted incomplete PDF whose standard cross-reference table reaches the end of the file without a trailer. The trailer search can repeatedly rewind to the same stream position instead of terminating when parsing makes no progress, blocking the processing thread. This issue is fixed in version 6.21.4.
- Record
EUVD-2026-113374- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-5849-834g-hvw5
7.1
pypdf has possible infinite loop when hitting EOF in standard xref table during trailer search
Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires opening an incomplete file without a trailer.
Patches
This has been fixed in pypdf==6.21.4.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #4289.
- Record
GHSA-5849-834g-hvw5- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-835
- Updated
- 2026-11-02
NVD
7.1
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.4, pypdf can enter an infinite loop while opening a crafted incomplete PDF whose standard cross-reference table reaches the end of the file without a trailer. The trailer search can repeatedly rewind to the same stream position instead of terminating when parsing makes no progress, blocking the processing thread. This issue is fixed in version 6.21.4.
- Record
CVE-2026-119203- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/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-835
- Updated
- 2026-11-02
OSV
7.1
pypdf: Possible infinite loop when hitting EOF in standard xref table during trailer search
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.4, pypdf can enter an infinite loop while opening a crafted incomplete PDF whose standard cross-reference table reaches the end of the file without a trailer. The trailer search can repeatedly rewind to the same stream position instead of terminating when parsing makes no progress, blocking the processing thread. This issue is fixed in version 6.21.4.
- Record
CVE-2026-119203- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-835
- Updated
- 2026-11-04
OSVDEBIAN-CVE-2026-119203
5.5
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.4, pypdf can enter an infinite loop while opening a crafted incomplete PDF whose standard cross-reference table reaches the end of the file without a trailer. The trailer search can repeatedly rewind to the same stream position instead of terminating when parsing makes no progress, blocking the processing thread. This issue is fixed in version 6.21.4.
- Record
DEBIAN-CVE-2026-119203- 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-06
Show 4 moreShow less
OSVGHSA-5849-834g-hvw5
7.1
pypdf has possible infinite loop when hitting EOF in standard xref table during trailer search
Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires opening an incomplete file without a trailer.
Patches
This has been fixed in pypdf==6.21.4.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #4289.
- Record
GHSA-5849-834g-hvw5- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-835
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-119203
7.1
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.4, pypdf can enter an infinite loop while opening a crafted incomplete PDF whose standard cross-reference table reaches the end of the file without a trailer. The trailer search can repeatedly rewind to the same stream position instead of terminating when parsing makes no progress, blocking the processing thread. This issue is fixed in version 6.21.4.
- Record
UBUNTU-CVE-2026-119203- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/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-05
OSVCLSA-2026-1793872631 No score
TuxCare security update for pypdf (6 CVEs)
TuxCare rebuilt pypdf to address 6 CVEs. Fixed in 5.9.0.post22+tuxcare.
- Record
CLSA-2026-1793872631- Updated
- 2026-11-05
OSVopenSUSE-SU-2026:22219-1 No score
Security update for python-pypdf
This update for python-pypdf fixes the following issues:
Changes in python-pypdf:
- CVE-2026-119209: negative /Index values and multiplied xref streams can lead to clamp bypass and server memory exhaustion (bsc#1288950)
- CVE-2026-119208: trusting forged /Count values in encrypted PDF page trees can lead to excessive resource consumption and denial of service (bsc#1288951)
- CVE-2026-119207: nested exception text accumulation in strict mode parsing can lead to memory amplification and application denial of service (bsc#1288952)
- CVE-2026-119206: repeated sequential /Nums scanning in page_labels resolution can lead to algorithmic complexity attacks and denial of service (bsc#1288944)
- CVE-2026-119205: misdirected reference tracking during dictionary cloning can lead to cycle-detection bypass and thread-hanging infinite loops (bsc#1288943)
- CVE-2026-119204: unbounded resource entry copying during page-tree flattening can lead to excessive memory allocation and denial of service (bsc#1288942)
- CVE-2026-119203: unterminated trailer search in incomplete cross-reference tables can lead to an infinite loop and thread-blocking denial of service (bsc#1288941)
- Record
openSUSE-SU-2026:22219-1- Updated
- 2026-11-04
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
pypdfPyPI |
before 6.21.4 | 6.21.4 |
pypdfTuxCare:PyPI From an advisory covering 6 CVEs |
5.9.0 up to 5.9.0.post22+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 16 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.post21+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.post22+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.4-1, plus listed versions 5.4.0-16.19.0-16.21.0-16.21.1-16.9.0-16.9.2-16.9.2-2 |
6.21.4-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.4, 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.4 |
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 |
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 7 CVEs |
before 6.19.0-bp160.3.1 | 6.19.0-bp160.3.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| affected | OSV | |
| affected, aliases | OSV | |
| affected, aliases, references | OSV | |
| facts | OSV | |
| affected | OSV | |
| 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-119203 is a high vulnerability (CVSS 7.1) in Py-pdf Pypdf, published October 29, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.22%, the 12th percentile. Fixed in pypdf 6.21.4.
References
github.com/py-pdf/pypdf/security/advisories/GHSA-5849-834g-hvw5
github.com/py-pdf/pypdf/pull/4289
github.com/py-pdf/pypdf/commit/06593f993789a4b573dd955730c1a7051128bb2a
github.com/py-pdf/pypdf/releases/tag/6.21.4
nvd.nist.gov/vuln/detail/CVE-2026-119203
github.com/advisories/GHSA-5849-834g-hvw5
Show 19 moreShow less
github.com/CVEProject/cvelistV5/tree/main/cves/2026/119xxx/CVE-2026-119203.json
security-tracker.debian.org/tracker/CVE-2026-119203
github.com/py-pdf/pypdf
ubuntu.com/security/CVE-2026-119203
cve.org/CVERecord?id=CVE-2026-119203
bugzilla.suse.com/1288941
bugzilla.suse.com/1288942
bugzilla.suse.com/1288943
bugzilla.suse.com/1288944
bugzilla.suse.com/1288950
bugzilla.suse.com/1288951
bugzilla.suse.com/1288952
suse.com/security/cve/CVE-2026-119203
suse.com/security/cve/CVE-2026-119204
suse.com/security/cve/CVE-2026-119205
suse.com/security/cve/CVE-2026-119206
suse.com/security/cve/CVE-2026-119207
suse.com/security/cve/CVE-2026-119208
suse.com/security/cve/CVE-2026-119209
Left out here: 76 versions. The JSON record has them.