OpenZeppelin Contracts up to 4.7.2 Signature ECDSA.recover/ECDSA.tryRecover integrity check
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 6.1 | $0-$5k | 0.00 |
Summary
A vulnerability was found in OpenZeppelin Contracts up to 4.7.2 and classified as problematic. Impacted is the function ECDSA.recover/ECDSA.tryRecover of the component Signature Handler. Such manipulation leads to integrity check.
This vulnerability is referenced as CVE-2022-35961. It is possible to launch the attack remotely. No exploit is available.
It is advisable to implement a patch to correct this issue.
Details
A vulnerability was found in OpenZeppelin Contracts up to 4.7.2 and classified as problematic. Affected by this issue is the function ECDSA.recover/ECDSA.tryRecover of the component Signature Handler. The manipulation with an unknown input leads to a integrity check vulnerability. Using CWE to declare the problem leads to CWE-354. The product does not validate or incorrectly validates the integrity check values or "checksums" of a message. This may prevent it from detecting if the data has been modified or corrupted in transmission. Impacted is confidentiality, integrity, and availability. CVE summarizes:
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.
The weakness was published 08/15/2022 as GHSA-4h98-2769-gh6h. The advisory is shared for download at github.com. This vulnerability is handled as CVE-2022-35961 since 07/15/2022. Successful exploitation requires user interaction by the victim. There are known technical details, but no exploit is available.
The vulnerability scanner Nessus provides a plugin with the ID 304110 (Linux Distros Unpatched Vulnerability : CVE-2026-33895), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 4.7.3 eliminates this vulnerability. The upgrade is hosted for download at github.com. Applying a patch is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be patching the affected component.
The vulnerability is also documented in the vulnerability database at Tenable (304110). If you want to get best quality of vulnerability data, you may have to visit VulDB.
Product
Vendor
Name
Version
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 6.2VulDB Meta Temp Score: 6.1
VulDB Base Score: 4.6
VulDB Temp Score: 4.4
VulDB Vector: 🔍
VulDB Reliability: 🔍
CNA Base Score: 7.9
CNA Vector (GitHub, Inc.): 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
Exploiting
Class: Integrity checkCWE: CWE-354 / CWE-345
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Status: Not defined
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 304110
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2026-33895
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: PatchStatus: 🔍
0-Day Time: 🔍
Upgrade: Contracts 4.7.3
Patch: github.com
Timeline
07/15/2022 🔍08/15/2022 🔍
08/15/2022 🔍
03/29/2026 🔍
Sources
Advisory: GHSA-4h98-2769-gh6hStatus: Confirmed
CVE: CVE-2022-35961 (🔍)
GCVE (CVE): GCVE-0-2022-35961
GCVE (VulDB): GCVE-100-206420
Entry
Created: 08/15/2022 15:42Updated: 03/29/2026 00:24
Changes: 08/15/2022 15:42 (54), 03/29/2026 00:24 (16)
Complete: 🔍
Cache ID: 216:252:103
No comments yet. Languages: en.
Please log in to comment.