The ScrvusdVerifierV1
contract does not enforce a minimum block confirmation delay for Ethereum blocks used in proofs. As a result, the system might fetch data from unfinalized Ethereum blocks .
The function verifyPeriodByBlockHash
fetches state proof data directly from Ethereum without checking if the block has reached finality.
Ethereum blocks can be reorged, meaning the verifier might extract data from a block that later gets replaced.
Chains with faster finality (e.g., BSC, Avalanche) could incorporate unfinalized Ethereum block data causing inconsistencies in oracle updates.
Blockchains with different finality guarantees may store outdated or incorrect price information incase of reorgs.
Manual code review
Enforce a finality requirement before accepting Ethereum block data.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.