Headline
GHSA-5h3x-9wvq-w4m2: OpenZeppelin Contracts's governor proposal creation may be blocked by frontrunning
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/
Package
npm @openzeppelin/contracts (npm)
Affected versions
>= 4.3.0, < 4.9.1
Patched versions
4.9.1
npm @openzeppelin/contracts-upgradeable (npm)
>= 4.3.0, < 4.9.1
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/
References
- GHSA-5h3x-9wvq-w4m2
- https://nvd.nist.gov/vuln/detail/CVE-2023-34234
- OpenZeppelin/openzeppelin-contracts@d947432
- https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.9.1
frangio published to OpenZeppelin/openzeppelin-contracts
Jun 7, 2023
Published to the GitHub Advisory Database
Jun 8, 2023
Reviewed
Jun 8, 2023
Last updated
Jun 8, 2023
Related news
OpenZeppelin Contracts is a library for smart contract development. 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. This problem has been patched in 4.9.1 by introducing opt-in frontrunning protection. Users are advised to upgrade. Users unable to upgrade may submit the proposal creation transaction to an endpoint with frontrunning protection as a workaround.