GitHub Advisoryadvisory · npm
GHSA-5h3x-9wvq-w4m2 OpenZeppelin Contracts's governor proposal creation may be blocked by frontrunning
MEDIUM
Official page ↗
- Aliases
- CVE-2023-34234
- Ecosystem
- npm
- Packages
- @openzeppelin/contracts, @openzeppelin/contracts-upgradeable
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
- Weaknesses
- CWE-862
- Reviewed
- 2023-06-08
Affected packages
• npm @openzeppelin/contracts: >= 4.3.0, < 4.9.1 → fixed in 4.9.1
• npm @openzeppelin/contracts-upgradeable: >= 4.3.0, < 4.9.1 → fixed in 4.9.1
Description
Impact
By frontrunning the creation of a proposal, an attacker can become the proposer and gain the ability to cancel it. The attacker can do this repeatedly to try to prevent a proposal from being proposed at all.
This impacts the `Governor` contract in v4.9.0 only, and the `GovernorCompatibilityBravo` contract since v4.3.0.
Patches
The problem has been patched in 4.9.1 by introducing opt-in frontrunning protection.
Workarounds
Submit the proposal creation transaction to an endpoint with frontrunning protection.
Credit
Reported by Lior Abadi and Joaquin Pereyra from Coinspect.
References
https://www.coinspect.com/openzeppelin-governor-dos/
Related
Alias · CVE (1)
- CVE-2023-34234 OpenZeppelin Contracts is a library for smart contract development. vulnerability
Weakness · CWE (1)
- CWE-862 Missing Authorization weakness
References
- https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-5h3x-9wvq-w4m2 web
- https://nvd.nist.gov/vuln/detail/CVE-2023-34234 advisory
- https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/commit/66f390fa516b550838e2c2f65132b5bc2afe1ced web
- https://github.com/OpenZeppelin/openzeppelin-contracts/commit/d9474327a492f9f310f31bc53f38dbea56ed9a57 web
- https://github.com/OpenZeppelin/openzeppelin-contracts package
- https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.9.1 web