OpenZeppelin Contracts's governor proposal creation may be blocked by frontrunning
Moderate severity
GitHub Reviewed
Published
Jun 7, 2023
in
OpenZeppelin/openzeppelin-contracts
•
Updated Nov 27, 2023
Description
Published by the National Vulnerability Database
Jun 7, 2023
Published to the GitHub Advisory Database
Jun 8, 2023
Reviewed
Jun 8, 2023
Last updated
Nov 27, 2023
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 theGovernorCompatibilityBravo
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