PT-2022-23060 · Openzeppelin · Openzeppelin Contracts
Frangio
·
Published
2022-08-14
·
Updated
2026-03-26
·
CVE-2022-35961
CVSS v3.1
7.9
High
| Vector | AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L |
Name of the Vulnerable Software and Affected Versions
OpenZeppelin Contracts versions prior to 4.7.3
Description
The functions
ECDSA.recover and ECDSA.tryRecover are vulnerable to signature malleability due to accepting EIP-2098 compact signatures in addition to the traditional 65 byte signature format. This issue affects contracts that implement signature reuse or replay protection by marking the signature itself as used, rather than the signed message or a nonce included in it. A user may submit a previously used signature in a different form, bypassing this protection.Recommendations
For versions prior to 4.7.3, update to version 4.7.3 to resolve the issue. As a temporary workaround, consider modifying the contracts to implement signature reuse or replay protection by marking the signed message or a nonce included in it as used, rather than the signature itself. Restrict access to the
ECDSA.recover and ECDSA.tryRecover functions to minimize the risk of exploitation.Exploit
Fix
Improper Verification of Cryptographic Signature
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Openzeppelin Contracts