CVE-2026-113792: pypdf infinite loop in find_outline_item with cyclic PDF outline

CVE-2026-113792 · Severity: medium · CVSS 4 · Published 2026-10-21

pypdf is a Python library for reading and writing PDF files. When processing a maliciously crafted PDF with a cyclic outline structure, the find_outline_item function enters an infinite loop, causing the application to hang or become unresponsive.

Technologies: Py-Pdf Pypdf, pypdf (PyPI). Vendors: Py-Pdf, PyPI.

Quick answers

Is CVE-2026-113792 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-113792 being exploited in the wild.
How severe is CVE-2026-113792?
Medium severity, with a CVSS score of 4, published 21 October 2026.
Which products and versions are affected?
Py-Pdf Pypdf before 6.20.1; pypdf (PyPI) < 6.20.1, ECOSYSTEM:introduced=0,fixed=6.20.1.
Is there a fix for CVE-2026-113792?
Yes. pypdf (PyPI): upgrade to 6.20.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-113792 attacked?
It is attacked over the network or with local access, in a software library.
Am I affected by CVE-2026-113792?
Check whether you run Py-Pdf Pypdf or pypdf (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • pypdf (PyPI): upgrade to 6.20.1 or later
    pip install "pypdf>=6.20.1"

Technical details

The vulnerability exists in the find_outline_item method of PdfWriter, which fails to detect cycles in the PDF outline tree hierarchy. When a crafted PDF contains circular references in its outline structure, the recursive tree traversal loops indefinitely. The fix adds cycle detection by tracking visited nodes during traversal.

Affected products

  • py-pdf pypdf before 6.20.1

Identifiers

  • CVE-2026-113792
  • GHSA-qfv9-64jg-mh7p

Timeline

  • 2026-10-21: disclosed
  • 2026-10-12: patched

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.