Beginner FriendlyFoundryBridge
100 EXP
View results
Submission Details
Severity: medium
Invalid

Cross-chain signature replay attack

Summary

The signature issued by operator, can be replayed across different chains.

Vulnerability details

There is no chain.id in signed data. According to comments: L2 will have a similar mechanism for withdrawing tokens from L1 to L2. So same signature can be used for withdrawing.

/*
* @notice This is the function responsible for withdrawing tokens from L2 to L1.
* Our L2 will have a similar mechanism for withdrawing tokens from L1 to L2.
*/

Impact

As specified by the EIP4337 standard to prevent replay attacks ... the signature should depend on chain.id.

Tools used

Manual Review

Recommendations

  1. Include chain.id in hashed data

Updates

Lead Judging Commences

0xnevi Lead Judge
over 1 year ago
0xnevi Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Other

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.