Skip to content

GovernorCompatibilityBravo may trim proposal calldata

Moderate
frangio published GHSA-93hq-5wgc-jc82 Apr 13, 2023

Package

npm @openzeppelin/contracts (npm)

Affected versions

>=4.3.0 <4.8.3

Patched versions

4.8.3
npm @openzeppelin/contracts-upgradeable (npm)
>=4.3.0 <4.8.3
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.

Severity

Moderate

CVE ID

CVE-2023-30542

Weaknesses

No CWEs