Security context

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

nanocurrency/nano-node
develop @ 9a392a5
59
Fixes
0
CVEs
CRITICAL
Peak severity
66.7%
Coverage
Highlights
Denial of Service: 38 prior fixes. Scrutinize any change in this area.
rai/node/rpc.cpp: most-fixed (4 issues). Treat as high-risk during review.
26 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: Remotely triggerable null-pointer dereferences and infinite parsing loops during message deserialization allow unauthenticated remote peers to crash the node or exhaust its CPU resources. Strict stream size limits and early validation of deserialized objects are crucial.
Auth Bypass: Failure to enforce cryptographic signature validation on incoming ledger transactions, consensus votes, and blocks enables attackers to spoof network state or inject arbitrary transactions without authorization. Enforcing signature verification at deserialization boundaries is mandatory.
Race Condition: Concurrent access to a shared static instance of the AutoSeededRandomPool by multiple threads causes thread safety issues and predictable PRNG states. Utilizing thread_local storage is required to ensure secure cryptographic seed generation.