CVE-2023-23940 OpenZeppelin Contracts for Cairo is vulnerable to signature validation bypass
- Exploited in the wild
- Not known
- Fix
- Available
What is CVE-2023-23940?
CVE-2023-23940 is a medium-severity vulnerability in OpenZeppelin cairo-contracts, published on 3 Feb 2023.
Official description
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` preset) is vulnerable to a malicious sequencer. Specifically, the malicious sequencer would be able to bypass signature validation to impersonate an instance of these accounts. The issue has been patched in 0.6.1.
Which versions are affected by CVE-2023-23940?
3 open source packages ship an affected version, including openzeppelin-cairo-contracts. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
openzeppelin-cairo-contracts PyPI | From 0.2.0 | 0.6.1 |
openzeppelin-cairo-contracts PyPI | From 0.2.0 | 0.6.1 |
openzeppelin-cairo-contracts PyPI | From 0.2.0 | 0.6.1 |
Products include Openzeppelin Contracts.
How do I fix CVE-2023-23940?
Upgrade openzeppelin-cairo-contracts to 0.6.1 or later.
Is CVE-2023-23940 being exploited?
There is no known exploitation of CVE-2023-23940 in the wild and no public exploit code.
Other vulnerabilities in OpenZeppelin cairo-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-626q-v9j4-mcp4, PYSEC-2023-39.