76454 bc medium range program endofsource guard dead enabling trivial proof finalization halt
Description
Brief/Intro
Vulnerability Details
let mut attributes = match driver.pipeline.produce_payload(tip_cursor.l2_safe_head).await {
Ok(attrs) => attrs.take_inner(),
Err(PipelineErrorKind::Critical(PipelineError::EndOfSource)) => {
if target.is_some() {
target = Some(tip_cursor.l2_safe_head.block_info.number);
};
// Intended hard-fail post-Isthmus — but reads `block_info.number`
// where `is_isthmus_active` expects a timestamp.
if cfg.is_isthmus_active(driver.cursor.read().l2_safe_head().block_info.number) {
return Err(PipelineError::EndOfSource.crit().into());
}
continue;
}
...
};Attack path
Impact Details
References
Link to Proof of Concept
Proof of Concept
Test 1 — type_confusion_makes_isthmus_guard_dead_on_mainnet_shape
Test 2 — advance_to_target_returns_ok_on_end_of_source_with_unmet_target
Test 3 — boot_info_struct_commits_false_claim
Previous75554 bc critical unbounded snappy decompression in networkpayloadenvelope decode v1 v4 leads to per node memory exhaustion reachable from any unauthenticated p2p peerNext75031 bc medium default blob frame sizing can create unencodable frames causing retry storms and 30 batcher resource amplification
Was this helpful?