CVE-2022-35961

HIGH

OpenZeppelin Contracts - Signature Malleability

Title source: llm
STIX 2.1

Description

OpenZeppelin Contracts is a library for secure smart contract development. The functions `ECDSA.recover` and `ECDSA.tryRecover` are vulnerable to a kind of signature malleability due to accepting EIP-2098 compact signatures in addition to the traditional 65 byte signature format. This is only an issue for the functions that take a single `bytes` argument, and not the functions that take `r, v, s` or `r, vs` as separate arguments. The potentially affected contracts are those 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 take a signature that has already been submitted, submit it again in a different form, and bypass this protection. The issue has been patched in 4.7.3.

Scores

CVSS v3 7.9
EPSS 0.0016
EPSS Percentile 37.0%
Attack Vector NETWORK
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L

CISA SSVC

Vulnrichment
Exploitation none
Automatable no
Technical Impact total

Details

CWE
CWE-354
Status published
Products (4)
openzeppelin/contracts 4.1.0 - 4.7.3
openzeppelin/contracts 4.1.0 - 4.7.3npm
openzeppelin/contracts-upgradeable 4.1.0 - 4.7.3npm
openzeppelin/contracts_upgradeable 4.1.0 - 4.7.3
Published Aug 15, 2022
Tracked Since Feb 18, 2026