Description
pypdf is a free and open-source pure-python PDF library. Prior to 6.20.1, removing an object from a crafted cyclic PDF tree, such as an outline item, can enter an infinite loop and block the current process. This issue is fixed in version 6.20.1.
Published: 2026-10-21
Score: 6 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via infinite loop
Action: Immediate Patch
AI Analysis

Impact

Removing an element from a crafted cyclic PDF tree, such as an outline item, causes the pypdf library to enter an infinite loop and block the process. This results in a denial‑of‑service condition, classified as CWE‑835. The malfunction is confined to the process that invokes the library, but in services that parse untrusted PDFs it can render the entire service unavailable until the offending process is terminated.

Affected Systems

Any build of the pypdf library older than version 6.20.1 is affected. The library, distributed under the py‑pdf project, is commonly used by applications that parse, modify, or otherwise process PDF documents.

Risk and Exploitability

The flaw carries a CVSS score of 6, indicating medium severity. The EPSS score is not available, and the vulnerability is not listed in the CISA KEV catalog, suggesting no documented exploitation activity. Based on the description, it is inferred that an attacker would need to deliver a crafted PDF containing a cyclic reference to the target application; depending on the deployment, this could be a remote attack if the PDF is accepted over a network or a local attack if the user can trigger PDF processing. Once triggered, the library will loop indefinitely, consuming CPU and halting progress until the process is killed.

Generated by OpenCVE AI on October 22, 2026 at 04:29 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade pypdf to version 6.20.1 or newer to apply the vendor’s fix
  • If upgrading is not immediately possible, isolate PDF processing in a sandboxed or separate worker so that a blocking loop does not affect the main application process
  • Validate incoming PDF files for unusual cyclic references or malformed structures before invoking removal functions to reduce the chance of triggering the loop

Generated by OpenCVE AI on October 22, 2026 at 04:29 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-9mx8-4j7g-633p pypdf: Possible infinite loop when removing tree items
History

Thu, 05 Nov 2026 21:45:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:py-pdf:pypdf:*:*:*:*:*:python:*:*
Metrics cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H'}

cvssV3_1

{'score': 4.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L'}


Wed, 28 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 22 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Thu, 22 Oct 2026 00:15:00 +0000

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

Wed, 21 Oct 2026 17:15:00 +0000

Type Values Removed Values Added
Description pypdf is a free and open-source pure-python PDF library. Prior to 6.20.1, removing an object from a crafted cyclic PDF tree, such as an outline item, can enter an infinite loop and block the current process. This issue is fixed in version 6.20.1.
Title pypdf: Possible infinite loop when removing tree items
Weaknesses CWE-835
References
Metrics cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-28T17:01:30.870Z

Reserved: 2026-10-20T17:39:41.373Z

Link: CVE-2026-113793

cve-icon Vulnrichment

Updated: 2026-10-28T17:00:37.232Z

cve-icon NVD

Status : Analyzed

Published: 2026-10-21T16:17:27.327

Modified: 2026-11-05T21:27:07.577

Link: CVE-2026-113793

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-21T15:57:55Z

Links: CVE-2026-113793 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T04:30:05Z

Weaknesses
  • CWE-835

    Loop with Unreachable Exit Condition ('Infinite Loop')