Highlights
Memory Corruption: 9 prior fixes. Scrutinize any change in this area.
vyper/builtins/functions.py: most-fixed (8 issues). Treat as high-risk during review.
56 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.
Memory Corruption: Liveness calculation mismatch in memory optimization passes can cause overlapping variables (such as DynArray lengths) to overwrite each other at runtime, leading to severe state corruption.
Integer Overflow: An overflow within the storage slot allocator allows different state variables to be mapped to overlapping storage slots, enabling arbitrary state hijacking.
Out-of-bounds Read: Missing static size boundary validation on recursive or nested dynamic types during ABI decoding allows malformed payloads to read out-of-bounds memory.