CVE-2023-26488 OpenZeppelin Contracts contains Incorrect Calculation
Incorrect balance calculation in ERC721Consecutive allows subsequent transfers to overflow reported balances, affecting smart contract developers using OpenZeppelin Contracts.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2023-26488?
CVE-2023-26488 is a medium-severity vulnerability in openzeppelin-contracts, published on 3 Mar 2023. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
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.
Weakness: CWE-682
Which versions are affected by CVE-2023-26488?
4 open source packages ship an affected version, including @openzeppelin/contracts and @openzeppelin/contracts-upgradeable. It affects 2 products.
| Package | Affected | Fixed in |
|---|---|---|
@openzeppelin/contracts npm | From 4.8.0 | 4.8.2 |
@openzeppelin/contracts npm | From 4.8.0 | 4.8.2 |
@openzeppelin/contracts-upgradeable npm | From 4.8.0 | 4.8.2 |
@openzeppelin/contracts-upgradeable npm | From 4.8.0 | 4.8.2 |
Products include Openzeppelin Contracts, Openzeppelin Contracts Upgradeable.
How do I fix CVE-2023-26488?
Upgrade @openzeppelin/contracts to 4.8.2 or later.
Is CVE-2023-26488 being exploited?
There is no known exploitation of CVE-2023-26488 in the wild and no public exploit code.
Other vulnerabilities in openzeppelin-contracts
- CVE-2021-39167 TimelockController vulnerability in OpenZeppelin Contracts
- CVE-2021-39168 TimelockController vulnerability in OpenZeppelin Contracts
- CVE-2021-41264 UUPSUpgradeable vulnerability in OpenZeppelin Contracts
- CVE-2022-35961 ECDSA signature malleability in OpenZeppelin Contracts
- CVE-2022-31198 GovernorVotesQuorumFraction updates to quorum may affect past defeated proposals in @openzeppelin/contracts
Sources
Also known as GHSA-878m-3g6q-594q.