CVE-2022-31153: OpenZeppelin Contracts for Cairo account cannot process transactions on Goerli
6.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.30337%
CWE
Published
7/15/2022
Updated
11/22/2024
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
openzeppelin-cairo-contracts | pip | < 0.2.1 | 0.2.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stemmed from incorrect handling of the ecdsa_ptr signature builtin reference. The pre-patch code in library.cairo's execute function created a local ecdsa_ptr via alloc() (line 203 in v0.2.0), which StarkNet's runtime rejected as it expects signature validation to use the system-provided ecdsa_ptr. The patch in 2cd6027 added ecdsa_ptr as an implicit parameter to execute and _unsafe_execute, resolving the validation failure. The vulnerable functions directly handled signature validation with improper pointer management, making them root causes of the transaction processing failure on Goerli.