GHSA-5h3x-9wvq-w4m2
OpenZeppelin Contracts's governor proposal creation may be blocked by frontrunning
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | @openzeppelin/contracts | >= 4.3.0, < 4.9.1 | 4.9.1 |
| npm | @openzeppelin/contracts-upgradeable | >= 4.3.0, < 4.9.1 | 4.9.1 |
Details
As written in the advisory (Markdown source, shown as plain text).
### 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/
References
External links from the advisory. They lead to third-party sites.
- https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-5h3x-9wvq-w4m2
- https://nvd.nist.gov/vuln/detail/CVE-2023-34234
- https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/commit/66f390fa516b550838e2c2f65132b5bc2afe1ced
- https://github.com/OpenZeppelin/openzeppelin-contracts/commit/d9474327a492f9f310f31bc53f38dbea56ed9a57
- https://github.com/OpenZeppelin/openzeppelin-contracts
- https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.9.1