CVE-2023-23940 OpenZeppelin Contracts for Cairo is vulnerable to signature validation bypass

Medium 6.4 Published Updated
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.

Weakness: CWE-347, CWE-345

Which versions are affected by CVE-2023-23940?

3 open source packages ship an affected version, including openzeppelin-cairo-contracts. It affects 1 product.

PackageAffectedFixed in
openzeppelin-cairo-contracts PyPIFrom 0.2.00.6.1
openzeppelin-cairo-contracts PyPIFrom 0.2.00.6.1
openzeppelin-cairo-contracts PyPIFrom 0.2.00.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.

Sources

Also known as GHSA-626q-v9j4-mcp4, PYSEC-2023-39.

Is CVE-2023-23940 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free