Description
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.3, pypdf can consume excessive time and memory when an application accesses the page count of a crafted encrypted PDF whose page tree declares a forged /Count value. Even after successful decryption, page-count retrieval trusts the unvalidated declared count instead of walking the page tree, allowing the attacker-controlled value to drive excessive work and memory use. This issue is fixed in version 6.21.3.
Published: 2026-10-29
Score: 7.1 High
EPSS: n/a
KEV: No
Impact: Denial of Service via resource exhaustion
Action: Apply Patch
AI Analysis

Impact

pypdf, a pure‑Python PDF library, can consume excessive CPU time and memory when an application accesses the page count of a crafted encrypted PDF whose page tree declares a forged /Count value. After decryption, the library trusts the declared count instead of validating it by walking the page tree, allowing an attacker‑controlled value to drive arbitrarily large processing. This behaviour constitutes a resource exhaustion flaw.

Affected Systems

The vulnerability affects the py-pdf:pypdf library in all releases prior to 6.21.3. The fix was introduced in version 6.21.3; any downstream use of older versions is vulnerable.

Risk and Exploitability

The vulnerability carries a CVSS score of 7.1, indicating moderate‑to‑high severity, and it is not listed in the CISA KEV catalog. EPSS data is not available. The attack requires a crafted encrypted PDF file; the likely vector is an application that loads or processes a PDF from a user or network source and then requests the page count. Once the file is decrypted, the forged /Count value causes the library to perform excessive work, potentially exhausting memory or CPU and denying service to the application or host.

Generated by OpenCVE AI on October 29, 2026 at 21:28 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade pypdf to version 6.21.3 or newer, which removes the reliance on unvalidated page counts.
  • Modify or configure the application to validate the page tree by traversing it instead of accepting the declared /Count value when processing PDFs from untrusted sources.
  • Implement resource limits (e.g., memory or CPU quotas) for processes that use pypdf, and monitor for unusually high resource consumption, especially after loading PDFs from external inputs.

Generated by OpenCVE AI on October 29, 2026 at 21:28 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 29 Oct 2026 21:45:00 +0000

Type Values Removed Values Added
First Time appeared Py-pdf
Py-pdf pypdf
Vendors & Products Py-pdf
Py-pdf pypdf

Thu, 29 Oct 2026 20:45:00 +0000

Type Values Removed Values Added
Description pypdf is a free and open-source pure-python PDF library. Prior to 6.21.3, pypdf can consume excessive time and memory when an application accesses the page count of a crafted encrypted PDF whose page tree declares a forged /Count value. Even after successful decryption, page-count retrieval trusts the unvalidated declared count instead of walking the page tree, allowing the attacker-controlled value to drive excessive work and memory use. This issue is fixed in version 6.21.3.
Title pypdf: Possible long runtimes/large memory usage for encrypted PDF files
Weaknesses CWE-400
References
Metrics cvssV4_0

{'score': 7.1, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-29T20:41:02.879Z

Reserved: 2026-10-29T16:04:48.729Z

Link: CVE-2026-119208

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-29T21:17:20.090

Modified: 2026-10-29T21:17:20.090

Link: CVE-2026-119208

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-29T21:30:15Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption