CVE-2022-31170
CVE-2022-31170 is a high-severity vulnerability in Openzeppelin Contracts with a CVSS 3.x base score of 7.5. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-252.
Key facts
- Severity: High (CVSS 3.x base score 7.5)
- EPSS exploit prediction: 1% (47th percentile)
- Actively exploited: Not listed in CISA KEV
- Weakness: CWE-252
- Affected product: Openzeppelin Contracts
- Published:
- Last modified:
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.
Frequently asked questions
- What is CVE-2022-31170?
- 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.
- How severe is CVE-2022-31170?
- CVE-2022-31170 has a CVSS 3.x base score of 7.5, rated high severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is none, integrity high, and availability none.
- Is CVE-2022-31170 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 1% (47th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2022-31170?
- CVE-2022-31170 affects Openzeppelin Contracts. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2022-31170?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its high severity, prioritise patching exposed systems.
- When was CVE-2022-31170 published?
- CVE-2022-31170 was published on 2022-07-22 and last updated on 2026-06-17.
References
- https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3552
- https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-qh9x-gcfh-pcrw
Affected products (1)
- cpe:2.3:a:openzeppelin:contracts:*:*:*:*:*:node.js:*:*
More vulnerabilities in Openzeppelin Contracts
- CVE-2021-39168 — Critical (CVSS 10.0): OpenZepplin is a library for smart contract development. In affected versions a vulnerability in TimelockController…
- CVE-2021-39167 — Critical (CVSS 10.0): OpenZepplin is a library for smart contract development. In affected versions a vulnerability in TimelockController…
- CVE-2021-41264 — Critical (CVSS 9.8): OpenZeppelin Contracts is a library for smart contract development. In affected versions upgradeable contracts using…
- CVE-2022-35961 — High (CVSS 7.9): OpenZeppelin Contracts is a library for secure smart contract development. The functions `ECDSA.recover` and…
- CVE-2022-31198 — High (CVSS 7.5): OpenZeppelin Contracts is a library for secure smart contract development. This issue concerns instances of Governor…
- CVE-2022-31172 — High (CVSS 7.5): OpenZeppelin Contracts is a library for smart contract development. Versions 4.1.0 until 4.7.1 are vulnerable to the…
All CVEs affecting Openzeppelin Contracts →
Other CWE-252 vulnerabilities
- CVE-2025-66565 — Critical (CVSS 9.8): Fiber Utils is a collection of common functions created for Fiber. In versions 2.0.0-rc.3 and below, when the system's…
- CVE-2021-38171 — Critical (CVSS 9.8): adts_decode_extradata in libavformat/adtsenc.c in FFmpeg 4.4 does not check the init_get_bits return value, which is a…
- CVE-2021-26955 — Critical (CVSS 9.8): An issue was discovered in the xcb crate through 2021-02-04 for Rust. It has a soundness violation because…
- CVE-1999-0199 — Critical (CVSS 9.8): manual/search.texi in the GNU C Library (aka glibc) before 2.2 lacks a statement about the unspecified tdelete return…
- CVE-2019-15900 — Critical (CVSS 9.8): An issue was discovered in slicer69 doas before 6.2 on certain platforms other than OpenBSD. On platforms without…
- CVE-2010-0211 — Critical (CVSS 9.8): The slap_modrdn2mods function in modrdn.c in OpenLDAP 2.4.22 does not check the return value of a call to the…