CVE-2022-31170

OpenZeppelin Contracts's ERC165Checker may revert instead of returning false

Description

OpenZeppelin Contracts is a library for smart contract development. Versions 4.0.0 until 4.7.1 are vulnerable to ERC165Checker reverting instead of returning `false`. `ERC165Checker.supportsInterface` is designed to always successfully return a boolean, and under no circumstance 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-165 as expected, specifically if it returns a value other than 0 or 1. The contracts that may be affected are those that use `ERC165Checker` to check for support for an interface and then handle the lack of support in a way other than reverting. The issue was patched in version 4.7.1.

Categories

7.5
CVSS
Severity: High
CVSS 3.1 •
EPSS 0.10%
Third-Party Advisory github.com Third-Party Advisory github.com
Affected: OpenZeppelin openzeppelin-contracts
Published at:
Updated at:

References

Frequently Asked Questions

What is the severity of CVE-2022-31170?
CVE-2022-31170 has been scored as a high severity vulnerability.
How to fix CVE-2022-31170?
To fix CVE-2022-31170, make sure you are using an up-to-date version of the affected component(s) by checking the vendor release notes. As for now, there are no other specific guidelines available.
Is CVE-2022-31170 being actively exploited in the wild?
As for now, there are no information to confirm that CVE-2022-31170 is being actively exploited. According to its EPSS score, there is a ~0% probability that this vulnerability will be exploited by malicious actors in the next 30 days.
What software or system is affected by CVE-2022-31170?
CVE-2022-31170 affects OpenZeppelin openzeppelin-contracts.
This platform uses data from the NIST NVD, MITRE CVE, MITRE CWE, First.org and CISA KEV but is not endorsed or certified by these entities. CVE is a registred trademark of the MITRE Corporation and the authoritative source of CVE content is MITRE's CVE web site. CWE is a registred trademark of the MITRE Corporation and the authoritative source of CWE content is MITRE's CWE web site.
© 2025 Under My Watch. All Rights Reserved.