PT-2022-20586 · Openzeppelin · Openzeppelin Contracts
Frangio
·
Published
2022-07-21
·
Updated
2022-08-01
·
CVE-2022-31172
CVSS v3.1
7.5
High
| Vector | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
Name of the Vulnerable Software and Affected Versions
OpenZeppelin Contracts versions 4.1.0 through 4.7.1
Description
The issue concerns the SignatureChecker reverting in certain cases, which is not expected. This occurs due to an incorrect assumption about Solidity 0.8's
abi.decode, specifically when a target contract does not implement EIP-1271 as expected. The contracts that may be affected are those using SignatureChecker to check signature validity and handle invalid signatures in a way other than reverting.Recommendations
For versions 4.1.0 through 4.7.1, update to version 4.7.1 to resolve the issue. As a temporary workaround, consider modifying the handling of invalid signatures in contracts that use
SignatureChecker to prevent reverting. Restrict the use of SignatureChecker.isValidSignatureNow until the update is applied.Exploit
Fix
Improper Verification of Cryptographic Signature
RCE
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Openzeppelin Contracts