CVE-2022-35961: OpenZeppelin Contracts vulnerable to ECDSA signature malleability
7.9
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.02739%
CWE
Published
8/18/2022
Updated
2/2/2023
KEV Status
No
Technology
JavaScript
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
@openzeppelin/contracts | npm | >= 4.1.0, < 4.7.3 | 4.7.3 |
@openzeppelin/contracts-upgradeable | npm | >= 4.1.0, < 4.7.3 | 4.7.3 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability documentation explicitly identifies these two functions as accepting both traditional 65-byte signatures and EIP-2098 compact 64-byte signatures. The commit diff shows removal of code handling 64-byte signatures in tryRecover(bytes32,bytes)
, and CHANGELOG notes these specific functions were modified to prevent compact signature acceptance. Tests were updated to reject compact signatures, confirming the attack vector was through these function variants.