Beginner FriendlyFoundry
100 EXP
View results
Submission Details
Severity: high
Invalid

`MondrianWallet::_validateSignature` always returns SIG_VALIDATION_SUCCESS resulting in all signatures being considered valid

Description

The MondrianWallet::_validateSignature should inspect the signature and return either
SIG_VALIDATION_SUCCESS or SIG_VALIDATION_FAIL depending on the result of the call to ECDSA.recover(hash, userOp.signature). The current implementation does not inspect the result of the call to recover at all, and always returns SIG_VALIDATION_SUCCESS

Impact

Signature validation is fundamentally broken and all signatures are considered to be valid.

Recommended mitigation

  • Review the API calls used for signature verification and ensure the return value of ECDSA.recover is used to determine validity of the signature.

  • Implement robust and comprehensive unit tests.

Tools

  • Manual Review

Updates

Lead Judging Commences

inallhonesty Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Lack of quality

Support

FAQs

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