NetSight
high8.8

CVE-2023-30542

GovernorCompatibilityBravo may trim proposal calldata

Impact

### 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.

Affected packages

EcosystemPackageAffectedFixed in
npm@openzeppelin/contracts>= 4.3.0, < 4.8.34.8.3
npm@openzeppelin/contracts-upgradeable>= 4.3.0, < 4.8.34.8.3

Affected products

VendorProductAffected versions
OpenzeppelinContracts
from 4.3.0 before 4.8.3
OpenzeppelinContracts Upgradeable
from 4.3.0 before 4.8.3

Weakness classification

References