fix(proof): assert derived block matches claim after derivation#2567
fix(proof): assert derived block matches claim after derivation#2567
Conversation
Closes GHSA-5jh4-3p33-85xc. advance_to_target silently downgrades the local target on EndOfSource, allowing an adversary to bind a valid output root to a future block number. Add a postcondition in WitnessExecutor::run() that rejects execution when the derived safe head block number differs from the claimed L2 block number. Includes a gated exploit-regression integration test (RUN_GHSA_EXPLOIT_REGRESSION=1) reproducing the attack shape.
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
✅ Heimdall Review Status
|
|
This is a port of succinctlabs/op-succinct#899 |
Review SummaryPR: fix(proof): assert derived block matches claim after derivation The fix is correct. The postcondition in Why the fix works: The vulnerability exploits What I verified:
No issues found. |
Closes GHSA-5jh4-3p33-85xc. advance_to_target silently downgrades the local target on EndOfSource, allowing an adversary to bind a valid output root to a future block number. Add a postcondition in WitnessExecutor::run() that rejects execution when the derived safe head block number differs from the claimed L2 block number.
Includes a gated exploit-regression integration test (RUN_GHSA_EXPLOIT_REGRESSION=1) reproducing the attack shape.