CVE-2026-115580: Python Pypdf Unbounded Standard Xref Entry Count

A count parsed from the attacker-supplied stream ($SIZE, read straight from a raw parse call such as read_object) is used directly as the bound of the `while $CNT < $SIZE` entry-parsing loop without being validated against the actual size of the stream. A crafted file can declare a subsection count far larger than the file can hold (a valid xref entry is 20

Provally CuratedPublic repositoryHighMedium confidenceVerifiedApache-2.0Python
greprules fetch cve-2026-115580-python-pypdf-unbounded-standard-xref-entry-count --engine opengrep

Description

A count parsed from the attacker-supplied stream ($SIZE, read straight from a raw parse call such as read_object) is used directly as the bound of the `while $CNT < $SIZE` entry-parsing loop without being validated against the actual size of the stream. A crafted file can declare a subsection count far larger than the file can hold (a valid xref entry is 20