Read the docs

Excessive iteration in pypdf lets crafted PDFs cause long runtimes

Priority LOW 31CWE-834Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Passive
Attack complexity
Low
Attack requirements
None
Impact type
—
Confidentiality · integrity · availability
None · None · High
Fix status
Partial Red Hat: 7 without a fix

Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat.

Summary

pypdf before 6.21.2 is affected. A PDF with a standard cross-reference table that declares more entries than the file can contain causes excessive iteration (CWE-834) and long runtimes when the file is opened. A remote attacker needs a user to open the crafted file, and the impact is loss of availability.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

pypdf is a free and open-source pure-python PDF library. Prior to 6.21.2, an attacker can craft a PDF with a standard cross-reference table whose declared entry count exceeds what the file can contain, causing excessive processing and long runtimes when the file is opened. This issue is fixed in version 6.21.2.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.0041 35th percentileScored 2026-11-07
Fix Partial pypdf (py-pdf): 6.21.2pypdf (PyPI): 6.21.2Red Hat: 7 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
py-pdfpypdfbefore 6.21.26.21.2Patch availableCNA
—pypdf (PyPI)before 6.21.26.21.2Patch availableGHSA-gmh7-3g9r-mjh5
  • pypdf Vendorpy-pdf Affected before 6.21.2 Fixed in 6.21.2 Patch available CNA
  • pypdf (PyPI) Vendor— Affected before 6.21.2 Fixed in 6.21.2 Patch available GHSA-gmh7-3g9r-mjh5

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:py-pdf:pypdf:*:*:*:*:*:*:*:*——py-pdf
  • cpe:2.3:a:py-pdf:pypdf:*:*:*:*:*:*:*:* Versions — — ·py-pdf

Remediation

Upgrade pypdf to version 6.21.2, which fixes the issue. Red Hat lists Ansible Automation Orchestrator 2026, Lightspeed Core, OpenShift Lightspeed, Red Hat Ansible Automation Platform 2, Red Hat Enterprise Linux AI (RHEL AI) 3 and other products as affected without a fix, with no fix planned for Red Hat Ansible Automation Platform 2.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

  • Fix · CNA pypdf (py-pdf) Fixed in 6.21.2
  • Fix · GHSA-gmh7-3g9r-mjh5 pypdf (PyPI) Fixed in 6.21.2 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Ansible Automation Orchestrator 2026AffectedNo fix yet: Fix deferred
Lightspeed CoreAffectedNo fix yet: Fix deferred
OpenShift LightspeedAffectedNo fix yet: Fix deferred
Red Hat Ansible Automation Platform 2AffectedNo fix planned: Out of support scope
Red Hat Enterprise Linux AI (RHEL AI) 3AffectedNo fix yet: Fix deferred
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet: Fix deferred
Red Hat Quay 3AffectedNo fix planned: Out of support scope

Timeline

  1. 2026-10-23 Threatist record created from CVE-2026-115580
  2. 2026-10-23 Alias added: GHSA-gmh7-3g9r-mjh5
  3. 2026-10-23 Fix available: PyPI/[email protected] · GHSA-gmh7-3g9r-mjh5
  4. 2026-10-23 CVSS score added · GHSA-gmh7-3g9r-mjh5
  5. 2026-10-23 Weakness changed · GHSA-gmh7-3g9r-mjh5
  6. 2026-10-23 5 new references · GHSA-gmh7-3g9r-mjh5
  7. 2026-10-24 Priority changed: MEDIUM → LOW
  8. 2026-10-24 Affected versions changed · Red Hat
  9. 2026-10-24 CVSS score added · Red Hat
  10. 2026-10-29 CISA SSVC decision points changed

References

  • TI-2026-79334 Exponential SVG use expansion exhausts CPU and memory in fpdf2 CVSS 3.1MEDIUM 6.5
  • TI-2023-18601 Infinite Loop when reading malformed objects in pypdf CVSS 3.1MEDIUM 6.5
  • TI-2023-18305 Infinite Loop when a comment isn't followed by a character in pypdf CVSS 3.1MEDIUM 6.2
  • TI-2022-08670 Manipulated inline images can cause Infinite Loop in PyPDF2 CVSS 3.1MEDIUM 6.2
  • TI-2026-42743 pypdf: Possible infinite loop for not terminated inline images CVSS 4.0HIGH 8.7
  • TI-2026-42742 pypdf: Possible infinite loop for not terminated inline images (ASCII85 and ASCIIHex filter) CVSS 4.0HIGH 8.7
See all 73 →

Sources