The fulfillSwap function uses off‑chain price data provided by keepers without binding this data to a specific chain. As a result, a price report verified on one chain could be replayed on another chain where the contract is deployed.
The problematic verification workflow is as follows:
Replay Exploits: An attacker could replay verified price data from one chain to another, causing the same swap request to be executed or approved multiple times.
Double Spends: This replay may lead to duplicate processing, asset misallocation, or unauthorized reward distribution, undermining the protocol’s integrity.
Cross-chain security analysis
Static analysis (MythX, Slither)
Manual code and design review
Chain-specific Data: Embed chain identifiers (e.g., chain ID, network nonce) within the price data payload and enforce that the verified report comes from the intended chain.
Nonce Management: Use nonces or time-bound tokens to ensure that price data is one‑time use only.
Verification Updates: Enhance the verification logic in the Chainlink verifier proxy to include chain-specific validations.
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.