Highlights
Denial of Service: 41 prior fixes. Scrutinize any change in this area.
src/Pos/Communication/Limits.hs: most-fixed (9 issues). Treat as high-risk during review.
58 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: Unbounded network deserialization allowed remote peers to cause memory exhaustion crashes. The node required systematic enforcement of dynamic and static message size limits across diverse network message types.
Auth Bypass: Gaps in the block verification pipeline allowed malformed or unauthenticated block sequences to bypass consensus validation. Critical checks like list-truncation adjustments and tip-block prepending had to be retrofitted to prevent validation omission.
Integer Overflow: Transaction validation sum checks and stake recomputations previously utilized bounded Coin types, causing overflow vulnerabilities that could trigger crashes or allow bypasses of balance constraints. These were resolved by using arbitrary-precision Integers.