Signature Malleability#
Informational
Signature malleability occurs when there are multiple valid signatures for the same data and public key.
ecrecover
allows for malleable signatures. (r,s,v)
and (r,s',v)
from two "Y" points for a given "X" on the elliptic curve.
ecrecover
is used throughout the codebase. No meaningful exploits were found as a result of signature malleability.
Recommendation#
Even so, consider using Open Zeppelin's ECDSA library to recover signature public keys, as they have an explicit check which prevents malleability.