Openzeppelin Contracts vulnerabilities
23 known vulnerabilities affecting openzeppelin/contracts.
Total CVEs
23
CISA KEV
0
Public exploits
0
Exploited in wild
0
Severity breakdown
CRITICAL3HIGH7MEDIUM13
Vulnerabilities
Page 1 of 2
CVE-2025-54070MEDIUM≥ 5.2.0, < 5.4.02025-07-17
CVE-2025-54070 [MEDIUM] CWE-125 OpenZeppelin Contracts Bytes's lastIndexOf function with position argument performs out-of-bound memory access on empty buffers
OpenZeppelin Contracts Bytes's lastIndexOf function with position argument performs out-of-bound memory access on empty buffers
### Impact
The `lastIndexOf(bytes,byte,uint256)` function of the `Bytes.sol` library may access uninitialized memory when the following two conditions hold: 1) the provided buffer length is empty (i.e. `buffer.
ghsaosv
CVE-2024-45304MEDIUMCVSS 6.5fixed in 0.16.02024-08-31
CVE-2024-45304 [MEDIUM] CWE-670 CVE-2024-45304: Cairo-Contracts are OpenZeppelin Contracts written in Cairo for Starknet, a decentralized ZK Rollup.
Cairo-Contracts are OpenZeppelin Contracts written in Cairo for Starknet, a decentralized ZK Rollup. This vulnerability can lead to unauthorized ownership transfer, contrary to the original owner's intention of leaving the contract without an owner. It introduces a security risk where an unintended party (pending owner) can gain control of the contr
nvd
CVE-2024-27094HIGHCVSS 7.4≥ 4.5.0, < 4.9.6≥ 5.0.0, < 5.0.22024-03-21
CVE-2024-27094 [HIGH] CWE-125 CVE-2024-27094: OpenZeppelin Contracts is a library for secure smart contract development. The `Base64.encode` funct
OpenZeppelin Contracts is a library for secure smart contract development. The `Base64.encode` function encodes a `bytes` input by iterating over it in chunks of 3 bytes. When this input is not a multiple of 3, the last iteration may read parts of the memory that are beyond the input buffer. The vulnerability is fixed in 5.0.2 and 4.9.6.
ghsanvdosv
CVE-2023-49798HIGHCVSS 7.5v4.9.42023-12-09
CVE-2023-49798 [HIGH] CWE-670 CVE-2023-49798: OpenZeppelin Contracts is a library for smart contract development. A merge issue when porting the 5
OpenZeppelin Contracts is a library for smart contract development. A merge issue when porting the 5.0.1 patch to the 4.9 branch caused a line duplication. In the version of `Multicall.sol` released in `@openzeppelin/[email protected]` and `@openzeppelin/[email protected]`, all subcalls are executed twice. Concretely, this exposes a user to un
ghsanvdosv
CVE-2023-40014MEDIUM≥ 4.0.0, < 4.9.32023-08-11
CVE-2023-40014 [MEDIUM] CWE-116 OpenZeppelin Contracts vulnerable to Improper Escaping of Output
OpenZeppelin Contracts vulnerable to Improper Escaping of Output
### Impact
OpenZeppelin Contracts is a library for secure smart contract development. Starting in version 4.0.0 and prior to version 4.9.3, contracts using `ERC2771Context` along with a custom trusted forwarder may see `_msgSender` return `address(0)` in calls that originate from the forwarder with calldata shorter than 20 bytes. This
ghsaosv
CVE-2023-34459MEDIUMCVSS 5.9≥ 4.7.0, < 4.9.22023-06-16
CVE-2023-34459 [MEDIUM] CWE-354 CVE-2023-34459: OpenZeppelin Contracts is a library for smart contract development. Starting in version 4.7.0 and pr
OpenZeppelin Contracts is a library for smart contract development. Starting in version 4.7.0 and prior to version 4.9.2, when the `verifyMultiProof`, `verifyMultiProofCalldata`, `procesprocessMultiProof`, or `processMultiProofCalldat` functions are in use, it is possible to construct merkle trees that allow forging a valid multiproof for an arbitra
ghsanvdosv
CVE-2023-34234MEDIUMCVSS 5.3≥ 4.3.0, < 4.9.12023-06-07
CVE-2023-34234 [MEDIUM] CWE-862 CVE-2023-34234: OpenZeppelin Contracts is a library for smart contract development. By frontrunning the creation of
OpenZeppelin Contracts is a library for smart contract development. By frontrunning the creation of a proposal, an attacker can become the proposer and gain the ability to cancel it. The attacker can do this repeatedly to try to prevent a proposal from being proposed at all. This impacts the `Governor` contract in v4.9.0 only, and the `GovernorCompa
ghsanvdosv
CVE-2023-30541MEDIUMCVSS 5.3≥ 3.2.0, < 4.8.32023-04-17
CVE-2023-30541 [MEDIUM] CWE-436 CVE-2023-30541: OpenZeppelin Contracts is a library for secure smart contract development. A function in the impleme
OpenZeppelin Contracts is a library for secure smart contract development. A function in the implementation contract may be inaccessible if its selector clashes with one of the proxy's own selectors. Specifically, if the clashing function has a different signature with incompatible ABI encoding, the proxy could revert while attempting to decode the
ghsanvdosv
CVE-2023-30542HIGHCVSS 8.8≥ 4.3.0, < 4.8.32023-04-16
CVE-2023-30542 [HIGH] CWE-20 CVE-2023-30542: OpenZeppelin Contracts is a library for secure smart contract development. The proposal creation ent
OpenZeppelin Contracts is a library for secure smart contract development. The proposal creation entrypoint (`propose`) in `GovernorCompatibilityBravo` allows the creation of proposals with a `signatures` array shorter than the `calldatas` array. This causes the additional elements of the latter to be ignored, and if the proposal succeeds the correspon
ghsanvdosv
CVE-2023-26488MEDIUMCVSS 6.5≥ 4.8.0, < 4.8.22023-03-03
CVE-2023-26488 [MEDIUM] CWE-682 CVE-2023-26488: OpenZeppelin Contracts is a library for secure smart contract development. The ERC721Consecutive con
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
ghsanvdosv
CVE-2023-23940MEDIUMCVSS 5.3≥ 0.2.0, < 0.6.12023-02-03
CVE-2023-23940 [MEDIUM] CWE-345 CVE-2023-23940: OpenZeppelin Contracts for Cairo is a library for secure smart contract development written in Cairo
OpenZeppelin Contracts for Cairo is a library for secure smart contract development written in Cairo for StarkNet, a decentralized ZK Rollup. `is_valid_eth_signature` is missing a call to `finalize_keccak` after calling `verify_eth_signature`. As a result, any contract using `is_valid_eth_signature` from the account library (such as the `EthAccount`
nvd
CVE-2022-39384MEDIUMCVSS 5.6≥ 3.2.0, < 4.4.12022-11-04
CVE-2022-39384 [MEDIUM] CWE-665 CVE-2022-39384: OpenZeppelin Contracts is a library for secure smart contract development. Before version 4.4.1 but
OpenZeppelin Contracts is a library for secure smart contract development. Before version 4.4.1 but after 3.2.0, initializer functions that are invoked separate from contract creation (the most prominent example being minimal proxies) may be reentered if they make an untrusted non-view external call. Once an initializer has finished running it can ne
ghsanvdosv
CVE-2022-35961MEDIUMCVSS 6.5≥ 4.1.0, < 4.7.32022-08-15
CVE-2022-35961 [MEDIUM] CWE-354 CVE-2022-35961: OpenZeppelin Contracts is a library for secure smart contract development. The functions `ECDSA.reco
OpenZeppelin Contracts is a library for secure smart contract development. The functions `ECDSA.recover` and `ECDSA.tryRecover` are vulnerable to a kind of signature malleability due to accepting EIP-2098 compact signatures in addition to the traditional 65 byte signature format. This is only an issue for the functions that take a single `bytes` arg
ghsanvdosv
CVE-2022-31198HIGHCVSS 7.5≥ 4.3.0, < 4.7.22022-08-01
CVE-2022-31198 [HIGH] CWE-682 CVE-2022-31198: OpenZeppelin Contracts is a library for secure smart contract development. This issue concerns insta
OpenZeppelin Contracts is a library for secure smart contract development. This issue concerns instances of Governor that use the module `GovernorVotesQuorumFraction`, a mechanism that determines quorum requirements as a percentage of the voting token's total supply. In affected instances, when a proposal is passed to lower the quorum requirements, pa
ghsanvdosv
CVE-2022-35916MEDIUMCVSS 5.3≥ 4.6.0, < 4.7.22022-08-01
CVE-2022-35916 [MEDIUM] CWE-669 CVE-2022-35916: OpenZeppelin Contracts is a library for secure smart contract development. Contracts using the cross
OpenZeppelin Contracts is a library for secure smart contract development. Contracts using the cross chain utilities for Arbitrum L2, `CrossChainEnabledArbitrumL2` or `LibArbitrumL2`, will classify direct interactions of externally owned accounts (EOAs) as cross chain calls, even though they are not started on L1. This issue has been patched in v4.7
ghsanvdosv
CVE-2022-35915MEDIUMCVSS 5.3≥ 2.0.0, < 4.7.22022-08-01
CVE-2022-35915 [MEDIUM] CWE-400 CVE-2022-35915: OpenZeppelin Contracts is a library for secure smart contract development. The target contract of an
OpenZeppelin Contracts is a library for secure smart contract development. The target contract of an EIP-165 `supportsInterface` query can cause unbounded gas consumption by returning a lot of data, while it is generally assumed that this operation has a bounded cost. The issue has been fixed in v4.7.2. Users are advised to upgrade. There are no kno
ghsanvdosv
CVE-2022-31172HIGHCVSS 7.5≥ 4.1.0, < 4.7.12022-07-22
CVE-2022-31172 [HIGH] CWE-20 CVE-2022-31172: OpenZeppelin Contracts is a library for smart contract development. Versions 4.1.0 until 4.7.1 are v
OpenZeppelin Contracts is a library for smart contract development. Versions 4.1.0 until 4.7.1 are vulnerable to the SignatureChecker reverting. `SignatureChecker.isValidSignatureNow` is not expected to 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
ghsanvdosv
CVE-2022-31170HIGHCVSS 7.5≥ 4.0.0, < 4.7.12022-07-22
CVE-2022-31170 [HIGH] CWE-20 CVE-2022-31170: OpenZeppelin Contracts is a library for smart contract development. Versions 4.0.0 until 4.7.1 are v
OpenZeppelin Contracts is a library for smart contract development. Versions 4.0.0 until 4.7.1 are vulnerable to ERC165Checker reverting instead of returning `false`. `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`
ghsanvdosv
CVE-2022-31153MEDIUMCVSS 6.5v0.2.02022-07-15
CVE-2022-31153 [MEDIUM] CWE-664 CVE-2022-31153: OpenZeppelin Contracts for Cairo is a library for contract development written in Cairo for StarkNet
OpenZeppelin Contracts for Cairo is a library for contract development written in Cairo for StarkNet, a decentralized ZK Rollup. Version 0.2.0 is vulnerable to an error that renders account contracts unusable on live networks. This issue affects all accounts (vanilla and ethereum flavors) in the v0.2.0 release of OpenZeppelin Contracts for Cairo, wh
nvd
CVE-2021-46320HIGH≥ 0, < 4.4.12022-02-05
CVE-2021-46320 [HIGH] CWE-665 Improper Initialization in OpenZeppelin
Improper Initialization in OpenZeppelin
In OpenZeppelin <=v4.4.0, initializer functions that are invoked separate from contract creation (the most prominent example being minimal proxies) may be reentered if they make an untrusted non-view external call. Once an initializer has finished running it can never be re-executed. However, an exception put in place to support multiple inheritance made reentrancy possible, breaking th
ghsaosv
1 / 2Next →