GitHub Advisoryadvisory · npm

GHSA-93hq-5wgc-jc82 GovernorCompatibilityBravo may trim proposal calldata

HIGH Published 2023-04-20 Modified 2023-04-27 Official page ↗
Aliases
CVE-2023-30542
Ecosystem
npm
Packages
@openzeppelin/contracts, @openzeppelin/contracts-upgradeable
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weaknesses
CWE-20
Reviewed
2023-04-20

Affected packages

• npm @openzeppelin/contracts: >= 4.3.0, < 4.8.3 → fixed in 4.8.3 • npm @openzeppelin/contracts-upgradeable: >= 4.3.0, < 4.8.3 → fixed in 4.8.3

Description

Impact The proposal creation entrypoint (`propose`) in `GovernorCompatibilityBravo` allows the creation of proposals with a `signatures` array shorter than the `calldatas` array. This causes the additional elements of the latter to be ignored, and if the proposal succeeds the corresponding actions would eventually execute without any calldata. The `ProposalCreated` event correctly represents what will eventually execute, but the proposal parameters as queried through `getActions` appear to respect the original intended calldata. Patches This issue has been patched in v4.8.3. Workarounds Ensure that all proposals that pass through governance have equal length `signatures` and `calldatas` parameters.

Related

Alias · CVE (1)

  • CVE-2023-30542 OpenZeppelin Contracts is a library for secure smart contract development. vulnerability

Weakness · CWE (1)

  • CWE-20 Improper Input Validation weakness

References