Security context

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

AcademySoftwareFoundation/openexr
main @ cfa2502
123
Fixes
0
CVEs
CRITICAL
Peak severity
37.8%
Coverage
Highlights
Integer Overflow: 36 prior fixes. Scrutinize any change in this area.
src/lib/OpenEXRCore/internal_ht.cpp: most-fixed (9 issues). Treat as high-risk during review.
86 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.

Integer Overflow: Integer overflows in size calculations and pointer arithmetic are the most common root cause, leading to undersized allocations, out-of-bounds writes, and heap corruption. Many fixes promote operands to int64_t/size_t or add explicit bounds checks, but the pattern recurs across multiple codecs and header parsing.
Denial of Service: Multiple DoS fixes address unbounded or unvalidated allocations, infinite loops, and hangs triggered by crafted headers or chunk sizes. The HTJ2K decoder alone had several fixes for loop wraparound and assertion failures. The checkfile utility also needed memory limits to prevent OOM.
Buffer Overflow: Buffer overflows arise from missing bounds checks on decompressed sizes, off-by-one errors in Huffman decoding, and incorrect pointer arithmetic. Several fixes enforce that actual decompressed byte counts match expected sizes or add explicit truncation checks.