GitHub Advisoryadvisory · PyPI

GHSA-626q-v9j4-mcp4 OpenZeppelin Contracts contains Improper Verification of Cryptographic Signature

MEDIUM Published 2023-02-02 Modified 2024-10-07 Official page ↗
Aliases
CVE-2023-23940
Ecosystem
PyPI
Packages
openzeppelin-cairo-contracts
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N
Weaknesses
CWE-345, CWE-347
Reviewed
2023-02-02

Affected packages

• PyPI openzeppelin-cairo-contracts: >= 0.2.0, < 0.6.1 → fixed in 0.6.1

Description

Cause `is_valid_eth_signature` is missing a call to `finalize_keccak` after calling `verify_eth_signature`. Impact 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. Risk In order to exploit this vulnerability, it is required to control a sequencer or prover since they're the ones executing the hints, being able to inject incorrect keccak results. Today StarkWare is the only party running both a prover or a sequencer, greatly reducing the risk of exploit. Patches The issue has been patched in 0.6.1. For more information If you have any questions or comments about this advisory: • Open an issue in the Contracts for Cairo repository • Email us at [email protected]

Related

Alias · CVE (1)

  • CVE-2023-23940 OpenZeppelin Contracts for Cairo is a library for secure smart contract development written in Cairo for StarkNet, a decentralized ZK… vulnerability

Weakness · CWE (2)

  • CWE-345 Insufficient Verification of Data Authenticity weakness
  • CWE-347 Improper Verification of Cryptographic Signature weakness

References