_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.