Highlights
Denial of Service: 42 prior fixes. Scrutinize any change in this area.
src/neo/Network/P2P/Payloads/Transaction.cs: most-fixed (4 issues). Treat as high-risk during review.
67 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 or deeply nested binary deserialization allows attackers to exhaust system memory and trigger stack overflows, leading to a complete node crash. Enforcing strict virtual machine limits on maximum stack sizes and nested containers is critical during deserialization.
Auth Bypass: Discrepancies in signature verification, such as mismatched witness counts or lack of exact correlation between script hashes and expected transaction signers, allow invalid or forged transactions to bypass authentication filters.
Denial of Service: Unbounded deserialization of variable-length integers and array structures can allocate up to 256MB of memory per read, easily crashing nodes under concurrent load. Strict limits must be enforced on all serializable streams.