What’s Vulnerable › Vulnerabilities
CVE-2024-45304: OwnableTwoStep allows a pending owner to accept ownership after the original owner has renounced ownership in cairo-contracts
- Severity: medium (CVSS 6.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.5% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2024-08-31 · updated 2026-06-17
- Weakness: CWE-670
Description
Cairo-Contracts are OpenZeppelin Contracts written in Cairo for Starknet, a decentralized ZK Rollup. This vulnerability can lead to unauthorized ownership transfer, contrary to the original owner's intention of leaving the contract without an owner. It introduces a security risk where an unintended party (pending owner) can gain control of the contract after the original owner has renounced ownership. This could also be used by a malicious owner to simulate leaving a contract without an owner, to later regain ownership by previously having proposed himself as a pending owner. This issue has been addressed in release version 0.16.0. All users are advised to upgrade. There are no known workarounds for this vulnerability.
Affected products
- openzeppelin-contracts: before 0.16.0 — fixed in 0.16.0
How to fix
Upgrade to a fixed version: openzeppelin-contracts 0.16.0. Check the vendor advisory for mitigations.
References
- https://github.com/OpenZeppelin/cairo-contracts/commit/ef87d7847980e0cf83f4b7f3ff23e6590fb643ec
- https://github.com/OpenZeppelin/cairo-contracts/releases/tag/v0.16.0
- https://github.com/OpenZeppelin/cairo-contracts/security/advisories/GHSA-w2px-25pm-2cf9
Get alerted when CVE-2024-45304 or the next vulnerability affects your stack