The function does not validate whether block.timestamp
has exceeded the deadline before marking a request as processed.
This could allow keepers to execute stale swaps after the intended execution window, leading to potential price manipulation.
The fulfillSwap
function does not verify whether the deadline has expired before marking the swap request as processed. This oversight allows a keeper to execute a swap after the intended execution window, potentially manipulating execution timing for financial gain.
This means:
Users could receive an unfair price if the swap is executed under different market conditions than expected.
Market manipulation is possible if keepers selectively execute only profitable swaps while ignoring unfavorable ones.
A malicious keeper or delayed execution due to network congestion could result in stale swaps being processed under changed market conditions.
Users may suffer losses if the execution price deviates significantly from their expectations.
Manual Review
Enforce a Deadline Check Before Processing the Swap
Modify the fulfillSwap
function to ensure expired swap requests revert before being processed:
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.