Highlights
Buffer Overflow: 5 prior fixes. Scrutinize any change in this area.
src/subgraph.c: most-fixed (3 issues). Treat as high-risk during review.
20 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.
Buffer Overflow: Integer overflows in indirection buffer size calculations can result in undersized memory allocations, leading to critical heap buffer overflows during operator execution. This is a recurring pattern in memory sizing routines across multiple operator types.
Stack-based Buffer Overflow: Missing bounds checks when copying axes or dimension counts into local arrays within subgraph modules allow malformed, high-dimension inputs to overflow fixed-size stack arrays.
Use After Free: Dynamic subgraph optimization operations, such as clamp-node insertion and reshape-node merging, frequently modify the underlying array structures, invalidating existing pointers. Failure to copy data before reallocating structures triggers severe use-after-free conditions.