Read the docs

Excessive memory use in pypdf when parsing crafted PDF page trees

Priority LOW 31CWE-400Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Passive
Attack complexity
Low
Attack requirements
None
Impact type
Denial of service
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. Impact type from CWE-400.

Summary

pypdf before 6.21.4 is affected. Its page-tree flattening copies page dictionaries and inherited resource entries without a document-wide budget, so a crafted page tree with many shared resources (CWE-400) causes disproportionate memory allocations. An unauthenticated remote attacker can exhaust memory by getting a user to process a crafted PDF, which requires user interaction.

Written with Claude Haiku 5.5 from the sources below · 2026-11-04

Description from the CNA

pypdf is a free and open-source pure-python PDF library. Prior to 6.21.4, pypdf can consume excessive memory while parsing a crafted PDF page tree containing many shared resources. Page-tree flattening copies page dictionary and inherited resource entries without a document-wide entry budget, allowing the crafted resource structure to cause disproportionate allocations. This issue is fixed in version 6.21.4.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00221 12th percentileScored 2026-11-07
Fix Partial pypdf (py-pdf): 6.21.4pypdf (PyPI): 6.21.4Red 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.46.21.4Patch availableCNA
—pypdf (PyPI)before 6.21.46.21.4Patch availableGHSA-cggf-277g-3q54
  • pypdf Vendorpy-pdf Affected before 6.21.4 Fixed in 6.21.4 Patch available CNA
  • pypdf (PyPI) Vendor— Affected before 6.21.4 Fixed in 6.21.4 Patch available GHSA-cggf-277g-3q54

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:py-pdf:pypdf:*:*:*:*:*:*:*:*before 6.21.4Vulnerablepy-pdf
  • cpe:2.3:a:py-pdf:pypdf:*:*:*:*:*:*:*:* Versions before 6.21.4 Vulnerable ·py-pdf

Remediation

Upgrade pypdf to version 6.21.4. Red Hat lists Ansible Automation Platform 2 and Red Hat Quay 3 as affected with no fix planned, and Ansible Automation Orchestrator 2026, Lightspeed Core, OpenShift Lightspeed, Red Hat Enterprise Linux AI (RHEL AI) 3 and Red Hat OpenShift AI (RHOAI) as affected with no fix available.

Written with Claude Haiku 5.5 from the sources below · 2026-11-04

  • Fix · CNA pypdf (py-pdf) Fixed in 6.21.4
  • Fix · GHSA-cggf-277g-3q54 pypdf (PyPI) Fixed in 6.21.4 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-29 Threatist record created from CVE-2026-119204
  2. 2026-10-30 Affected versions changed · Red Hat
  3. 2026-10-30 CVSS score added · Red Hat
  4. 2026-10-30 Alias added: GHSA-cggf-277g-3q54
  5. 2026-10-30 Fix available: PyPI/[email protected] · GHSA-cggf-277g-3q54
  6. 2026-10-30 CVSS score added · GHSA-cggf-277g-3q54
  7. 2026-10-30 Weakness changed · GHSA-cggf-277g-3q54
  8. 2026-10-30 6 new references · GHSA-cggf-277g-3q54
  9. 2026-10-31 Priority changed: MEDIUM → LOW
  10. 2026-11-02 CVSS score added · NVD
  11. 2026-11-04 CISA SSVC decision points changed

References

  • 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-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
  • TI-2026-65557 pypdf: Possible large memory usage when retrieving alphabetical page labels CVSS 4.0HIGH 8.7
  • TI-2026-65556 pypdf: Possible long runtimes with large amount of embedded files CVSS 4.0HIGH 8.7
See all 65 →

Sources