Security context

What an agent needs to avoid regressing past fixes and find the next vuln in this repo.

py-pdf/pypdf2
main @ efc511b
13
Fixes
2
CVEs
HIGH
Peak severity
25.0%
Coverage
Highlights
Denial of Service: 12 prior fixes. Scrutinize any change in this area.
pypdf/filters.py: most-fixed (3 issues). Treat as high-risk during review.
3 high-severity fixes in this history; regressions here are high-impact.
Recurring patterns

The bug types that recur here, drawn from past fixes, not open vulnerabilities.

Denial of Service: Recursive page-tree structures within malformed PDFs can cause stack exhaustion and SIGSEGV crashes. This is mitigated by explicitly tracking visited node identifiers to detect cyclic references.
Denial of Service: Unbounded array lengths and output sizes inside PDF content streams allow attackers to trigger excessive memory consumption, causing service-wide out-of-memory crashes.
Denial of Service: The decompressors for compressed streams (such as FlateDecode, CCITTFaxDecode, and RunLengthDecode) are prone to CPU and memory exhaustion via integer overflows, division by zero, or uncontrolled decompression rates.