74480 bc critical gossip snappy decompression missing max gossip size check lets any peer dos base consensus
Description
Brief/Intro
Vulnerability Details
Invariant the code claims
// crates/consensus/gossip/src/config.rs:13-15
/// The maximum gossip size.
/// Limits the total size of gossip RPC containers as well as decompressed individual messages. // <-- CLAIMED INVARIANT
pub const MAX_GOSSIP_SIZE: usize = 10 * (1 << 20);Root cause #1 — compute_message_id decompresses every inbound message
Root cause #2 — decode_v* decompresses block-topic messages again
Why the signer check doesn't gate the allocation
No ingress-level gate
Reachability
Impact Details
Measured against the real sequencer stack
Prior art
References
Link to Proof of Concept
Proof of Concept
Shared Cargo.toml
e2e-localnet — per-packet heap measurement
measure-rate — block-propagation halt against the official sequencer
Mitigation
Canonical fix: paradigmxyz/reth (same snap crate, same input class)
Port to Base
Regression tests
Previous75078 bc low clock domain conflation in bond manager s estimate unlock time delays bond claims by up to 7 days after every process restartNext76483 bc low external timeout around non cancellation safe txmanager send can leak the proposer s nonce and stall l1 proposal submission
Was this helpful?