Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| OpenZeppelin | openzeppelin-contracts | >=4.3.0, < 4.9.1 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | @openzeppelin/contracts | >= 4.3.0, < 4.9.1 | 4.9.1 | GHSA-5h3x-9wvq-w4m2 |
| npm | @openzeppelin/contracts-upgradeable | >= 4.3.0, < 4.9.1 | 4.9.1 | GHSA-5h3x-9wvq-w4m2 |