Skip to main content
Early warnings
SZB-d8e6f45edc

pypdf infinite loop on crafted incomplete PDF (EUVD-2026-113374)

Status
Unverified: only social posts report this so far
Kind
Vulnerability
Vendor
pypdf
Product
pypdf
First seen

Summary

Per the EUVD listing, pypdf versions before 6.21.4 can enter an infinite loop when opening a crafted incomplete PDF with no trailer. The listing assigns a CVSS v3.1 score of 7.1.

If you use pypdf

Upgrade pypdf to 6.21.4 or later

Set timeouts when parsing PDFs from untrusted sources

Limit memory for PDF parsing jobs that handle untrusted files

Upgrade pypdf to version 6.21.4 or later.

Avoid processing untrusted PDF files with affected versions until upgraded.

Apply timeouts to PDF processing jobs as a temporary limit on denial-of-service impact.

What the sources say 7

· Mastodon: “Prior to 6.21.3, pypdf can consume excessive memory while opening a crafted PDF containing cross-reference streams that declare very large entry counts.” Source

· Mastodon: “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.” Source

· Mastodon: “Prior to 6.21.3, pypdf can consume excessive memory when strict mode loads a crafted invalid PDF dictionary.” Source

· Mastodon: “Prior to 6.21.3, pypdf can take excessive time to retrieve page labels from a crafted PDF containing a flat page-label number tree with many ranges.” Source

· Mastodon: “Prior to 6.21.4, pypdf can enter an infinite loop when cloning or duplicating a crafted cyclic DictionaryObject.” Source

· Mastodon: “Prior to 6.21.4, pypdf can consume excessive memory while parsing a crafted PDF page tree containing many shared resources.” Source

· Mastodon: “Prior to 6.21.4, pypdf can enter an infinite loop while opening a crafted incomplete PDF whose standard cross-reference table reaches the end of the file without a trailer.” Source