-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
2 (Med Risk)Assets not at direct risk, but function/availability of the protocol could be impacted or leak valueAssets not at direct risk, but function/availability of the protocol could be impacted or leak valuebugSomething isn't workingSomething isn't workinginvalidThis doesn't seem rightThis doesn't seem rightsponsor disputedSponsor cannot duplicate the issue, or otherwise disagrees this is an issueSponsor cannot duplicate the issue, or otherwise disagrees this is an issue
Description
Lines of code
Vulnerability details
Impact
One of the view functions will revert instead of returning false.
Proof of Concept
In package.json, the following lines show which version of openzeppelin is being used:
"@openzeppelin/contracts": "^4.1.0",
"@openzeppelin/contracts-upgradeable": "^4.1.0",
The function supportsInterface() in ERC721Enumerable.sol calls OZ's ERC165 supportsInterface(), which has a known vulnerability that causes the function to revert instead of returning false due to an abi.decode behaviour introduced in solidity's version 0.8
More details in the links below:
https://security.snyk.io/vuln/SNYK-JS-OPENZEPPELINCONTRACTS-2958047
OpenZeppelin/openzeppelin-contracts#3552
Tools Used
Manual code reading
Recommended Mitigation Steps
Update OpenZeppelin to version 4.7.1 or more recent.
Metadata
Metadata
Assignees
Labels
2 (Med Risk)Assets not at direct risk, but function/availability of the protocol could be impacted or leak valueAssets not at direct risk, but function/availability of the protocol could be impacted or leak valuebugSomething isn't workingSomething isn't workinginvalidThis doesn't seem rightThis doesn't seem rightsponsor disputedSponsor cannot duplicate the issue, or otherwise disagrees this is an issueSponsor cannot duplicate the issue, or otherwise disagrees this is an issue