CVE-2026-27024: 
Python vulnerability analysis and mitigation

Overview

CVE-2026-27024 is an infinite loop (Denial of Service) vulnerability in pypdf, a free and open-source pure-Python PDF library. Prior to version 6.7.1, an attacker can craft a malicious PDF that triggers an infinite loop when pypdf accesses the children of a TreeObject — for example, during outline (bookmark) processing. The vulnerability was reported by CheonWoong-Park, analyzed by stefan6419846, and disclosed on February 17, 2026, with the fix released the same day. It carries a CVSS v3.1 score of 5.5 (Medium) and a CVSS v4.0 score of 6.9 (Medium) (GitHub Advisory).

Technical details

The root cause is classified as CWE-835 (Loop with Unreachable Exit Condition / Infinite Loop). The TreeObject.children() method in pypdf/generic/_data_structures.py iterated through child nodes via /Next references without detecting cyclic references, meaning a crafted PDF with a circular outline structure (e.g., child1 → child2 → child3 → child1) would cause the loop to never terminate. The fix introduced a visited set to track seen object IDs and emit a warning and return upon detecting a cycle (GitHub Commit, GitHub Advisory). Exploitation requires only that the attacker supply a crafted PDF to an application that processes it with pypdf — no authentication or special privileges are needed on the attacker's part.

Impact

Successful exploitation causes an infinite loop that consumes excessive CPU resources, rendering the affected application unresponsive and resulting in a Denial of Service condition. There is no impact on confidentiality or data integrity — only availability is affected. Services that process untrusted PDF files using pypdf (e.g., document management systems, AI pipelines, or web applications) are at risk of complete service disruption for the duration of the attack (GitHub Advisory, Red Hat Bugzilla).

Exploitability

No public proof-of-concept exploit code is known to exist, and there is no evidence of in-the-wild exploitation at this time (GitHub Advisory). The EPSS score is approximately 0.014% (0th percentile), indicating a very low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Downstream products including IBM watsonx Orchestrate Developer Edition and related cartridges have been identified as affected (IBM Advisory).

Exploitation steps

  1. Craft a malicious PDF: Create a PDF file with a circular outline (bookmark) structure where /Outlines TreeObject children reference each other cyclically — e.g., child1's /Next points to child2, child2's /Next points to child3, and child3's /Next points back to child1.
  2. Deliver the PDF: Submit the crafted PDF to any service or application that uses pypdf < 6.7.1 to process PDF files (e.g., upload via a web form, email attachment, or API endpoint).
  3. Trigger outline processing: Ensure the application accesses the PDF's outlines or bookmarks (e.g., by calling reader.outline or iterating over TreeObject.children()), which triggers the vulnerable loop.
  4. Achieve DoS: The application enters an infinite loop consuming 100% CPU on the processing thread, causing the service to become unresponsive until manually restarted (GitHub Commit, GitHub Advisory).

Indicators of compromise

  • Process: Python process consuming sustained 100% CPU with no progress, associated with PDF parsing operations using pypdf.
  • Logs: Application logs showing a hang or timeout during PDF outline/bookmark processing; absence of completion log entries after PDF ingestion begins.
  • File System: Presence of a suspicious PDF file with a malformed or unusually structured /Outlines dictionary containing circular /Next references.
  • Network: Repeated upload attempts of the same or similar PDF files to document processing endpoints, potentially indicating probing for vulnerable services.

Mitigation and workarounds

The primary remediation is to upgrade pypdf to version 6.7.1 or later, which introduces cyclic reference detection in TreeObject.children() (GitHub Advisory). For users unable to upgrade immediately, the changes from PR #3645 can be applied manually as a workaround (GitHub PR). Additionally, operators should implement processing timeouts and resource limits on PDF parsing operations, and restrict or validate PDF inputs before processing to reduce exposure.

Community reactions

Red Hat tracked the vulnerability via Bugzilla (Bug 2441490) with a medium severity rating, and IBM issued advisories for affected watsonx Orchestrate products (Red Hat Bugzilla, IBM Advisory). The fix was developed and merged by the pypdf maintainer stefan6419846 on the same day as disclosure, reflecting a rapid response from the open-source project. No significant broader community or social media discussion has been observed.

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

pypdf2

Affected

sid

pypdf: 6.9.0-1

Fixed

trixie

pypdf

Affected

Ubuntu

Unknown

bionic (esm-apps)

pypdf2

Unknown

devel

pypdf

Unknown

focal (esm-apps)

pypdf2

Unknown

jammy

pypdf2

Unknown

jammy (esm-apps)

pypdf2

Unknown

noble

pypdf

Unknown

noble (esm-apps)

pypdf

Unknown

resolute

pypdf

Unknown

RHEL / CentOS

Unknown

Source: This report was generated using AI

Related Python vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

GHSA-v2f8-6655-7grjCRITICAL10
  • Python logoPython
  • vibe-trading-ai
NoYesOct 02, 2026
CVE-2026-105782HIGH7.5
  • Python logoPython
  • scrapy
NoYesOct 06, 2026
GHSA-v853-p72q-4cfwHIGH7.5
  • Python logoPython
  • quart
NoYesOct 05, 2026
CVE-2026-105751MEDIUM6.9
  • Python logoPython
  • docling
NoYesOct 05, 2026
CVE-2026-105750MEDIUM5.9
  • Python logoPython
  • docling
NoYesOct 05, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management