OpenZeppelin Contracts's SignatureChecker may revert on invalid EIP-1271 signers
Impact
SignatureChecker.isValidSignatureNow is not expected to revert. However, an incorrect assumption about Solidity 0.8's abi.decode allows some cases to revert, given a target contract that doesn't implement EIP-1271 as expected.
The contracts that may be affected are those that use SignatureChecker to check the validity of a signature and handle invalid signatures in a way other than reverting. We believe this to be unlikely.
Patches
The issue was patched in 4.7.1.
References
https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3552
For more information
If you have any questions or comments about this advisory, or need assistance deploying the fix, email us at security@openzeppelin.com.
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| npm package | @openzeppelin/contracts | >= 4.1.0, < 4.7.1 | 4.7.1 |
| npm package | @openzeppelin/contracts-upgradeable | >= 4.1.0, < 4.7.1 | 4.7.1 |
References
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N- Weakness (CWE)
CWE-20, CWE-347- Platform
- npm
- Package
@openzeppelin/contracts, @openzeppelin/contracts-upgradeable- Disclosed
- 21.07.2022
- Updated
- 11.10.2026 10:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-4g63-c64m-25w9 - CC BY 4.0
Vulnerability history: @openzeppelin/contracts-upgradeable
All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 22
- First → latest
- 08.2021 07.2025
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- Critical 3
- High 5
- Medium 12
- Low 2
Disclosures per year
- 2021: 5
- 2022: 8
- 2023: 7
- 2024: 1
- 2025: 1
- 2026: 0
-
OpenZeppelin Contracts's SignatureChecker may revert on invalid EIP-1271 signers this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.