_validateSignature should only return SIG_VALIDATION_SUCCESS if the address returned from ECDSA.recover(hash, userOp.signature); matches the owner() address. If it doesn't, it should return SIG_VALIDATION_FAILED
In MondrianWallet.sol, the issue exists in the line specified by "@>" below:
ECDSA.recover(hash, userOp.signature); returns an address, but that address isn't checked to ensure it matches owner().
_validateSignature will always return SIG_VALIDATION_SUCCESS, even when the signature is invalid.
Manual review.
Update the function to the following:
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.