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.