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.
Remediation
References
https://github.com/OpenZeppelin/openzeppelin-contracts/commit/d9474327a492f9f310f31bc53f38dbea56ed9a57
https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-5h3x-9wvq-w4m2
Related Vulnerabilities
CVE-2021-32851 Vulnerability in npm package mind-elixir
CVE-2022-39236 Vulnerability in npm package matrix-js-sdk
CVE-2023-26488 Vulnerability in npm package @openzeppelin/contracts
CVE-2021-3757 Vulnerability in npm package immer
CVE-2023-25571 Vulnerability in npm package @backstage/plugin-catalog-backend