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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-345",
"CWE-347"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/23xxx/CVE-2023-23940.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0.2.0"
},
{
"fixed": "0.6.1"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"cpe": "cpe:2.3:a:openzeppelin:contracts:*:*:*:*:*:cairo:*:*",
"range": [
{
"introduced": "0.2.0"
},
{
"fixed": "0.6.1"
}
],
"source": "CPE_RANGE"
}
]
}