GHSA-qh9x-gcfh-pcrw

    Dashboard / Vulnerabilities / GHSA-qh9x-gcfh-pcrw

    GHSA-qh9x-gcfh-pcrw

    Published: 21 Jul 2022Last Modified: 8 Nov 2023

    Summary: OpenZeppelin Contracts's ERC165Checker may revert instead of returning false

    Details: ### Impact `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. ### 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 [[email protected]](mailto:[email protected]).

    Affected packages

    Package

    Name: @openzeppelin/contracts

    Purl: pkg:npm/%40openzeppelin/contracts

    Affected ranges

    Type: SEMVER

    Events:

    Introduced- 4.0.0
    Fixed -4.7.1

    Affected versions

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High
    GHSA-qh9x-gcfh-pcrw | CVE-DB