{"id":"GHSA-wmpv-c2jp-j2xg","summary":"ERC1155Supply vulnerability in OpenZeppelin Contracts","details":"When ERC1155 tokens are minted, a callback is invoked on the receiver of those tokens, as required by the spec. When including the `ERC1155Supply` extension, total supply is not updated until after the callback, thus during the callback the reported total supply is lower than the real number of tokens in circulation.\n\n### Impact\nIf a system relies on accurately reported supply, an attacker may be able to mint tokens and invoke that system after receiving the token balance but before the supply is updated.\n\n### Patches\nA fix is included in version 4.3.3 of `@openzeppelin/contracts` and `@openzeppelin/contracts-upgradeable`.\n\n### Workarounds\nIf accurate supply is relevant, do not mint tokens to untrusted receivers.\n\n### Credits\nThe issue was identified and reported by @ChainSecurityAudits.\n\n### For more information\nRead [TotalSupply Inconsistency in ERC1155 NFT Tokens](https://medium.com/chainsecurity/totalsupply-inconsistency-in-erc1155-nft-tokens-8f8e3b29f5aa) by @ChainSecurityAudits for a more detailed breakdown.\n\nIf you have any questions or comments about this advisory, email us at security@openzeppelin.com.","modified":"2021-11-15T22:27:38Z","published":"2021-11-15T23:28:18Z","database_specific":{"severity":"LOW","github_reviewed":true,"github_reviewed_at":"2021-11-15T22:27:38Z","nvd_published_at":null,"cwe_ids":[]},"references":[{"type":"WEB","url":"https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-wmpv-c2jp-j2xg"},{"type":"PACKAGE","url":"https://github.com/OpenZeppelin/openzeppelin-contracts"}],"affected":[{"package":{"name":"@openzeppelin/contracts","ecosystem":"npm","purl":"pkg:npm/%40openzeppelin/contracts"},"ranges":[{"type":"SEMVER","events":[{"introduced":"4.2.0"},{"fixed":"4.3.3"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/11/GHSA-wmpv-c2jp-j2xg/GHSA-wmpv-c2jp-j2xg.json"}},{"package":{"name":"@openzeppelin/contracts-upgradeable","ecosystem":"npm","purl":"pkg:npm/%40openzeppelin/contracts-upgradeable"},"ranges":[{"type":"SEMVER","events":[{"introduced":"4.2.0"},{"fixed":"4.3.3"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/11/GHSA-wmpv-c2jp-j2xg/GHSA-wmpv-c2jp-j2xg.json"}}],"schema_version":"1.9.0"}