Headline
GHSA-878m-3g6q-594q: OpenZeppelin Contracts contains Incorrect Calculation
Impact
The ERC721Consecutive contract designed for minting NFTs in batches does not update balances when a batch has size 1 and consists of a single token. Subsequent transfers from the receiver of that token may overflow the balance as reported by balanceOf
.
The issue exclusively presents with batches of size 1.
Patches
The issue has been patched in 4.8.2.
<!-- ### References -->
Package
npm @openzeppelin/contracts (npm)
Affected versions
>= 4.8.0, < 4.8.2
Patched versions
4.8.2
npm @openzeppelin/contracts-upgradeable (npm)
>= 4.8.0, < 4.8.2
4.8.2
Description
Impact
The ERC721Consecutive contract designed for minting NFTs in batches does not update balances when a batch has size 1 and consists of a single token. Subsequent transfers from the receiver of that token may overflow the balance as reported by balanceOf.
The issue exclusively presents with batches of size 1.
Patches
The issue has been patched in 4.8.2.
References
- GHSA-878m-3g6q-594q
- OpenZeppelin/openzeppelin-contracts@167bf67
- https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.8.2
frangio published to OpenZeppelin/openzeppelin-contracts
Mar 2, 2023
Published to the GitHub Advisory Database
Mar 3, 2023
Reviewed
Mar 3, 2023
Last updated
Mar 3, 2023
Related news
OpenZeppelin Contracts is a library for secure smart contract development. The ERC721Consecutive contract designed for minting NFTs in batches does not update balances when a batch has size 1 and consists of a single token. Subsequent transfers from the receiver of that token may overflow the balance as reported by `balanceOf`. The issue exclusively presents with batches of size 1. The issue has been patched in 4.8.2.