The L1BossBridge
contract lacks recording of used signatures in the sendToL1
function, allowing potential misuse of the same message for multiple transactions.
In the sendToL1
function, there is no restriction on the message, enabling a user to repeatedly trigger the function with the same message, leading to multiple token transfers from L2 to L1.
Exploiting this vulnerability enables users to accumulate more tokens on the bridge than initially deposited by reusing the same message.
Manual Review
To mitigate this issue, consider implementing one or both of the following:
Update the signers
mapping value to false
when a user withdraws the token.
Include a nonce value in the signing message and validate the nonce to prevent signature replay attacks.
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.