GovernorCompatibilityBravo may trim proposal calldata
High severity
GitHub Reviewed
Published
Apr 13, 2023
in
OpenZeppelin/openzeppelin-contracts
•
Updated Apr 27, 2023
Description
Published by the National Vulnerability Database
Apr 16, 2023
Published to the GitHub Advisory Database
Apr 20, 2023
Reviewed
Apr 20, 2023
Last updated
Apr 27, 2023
Impact
The proposal creation entrypoint (
propose
) inGovernorCompatibilityBravo
allows the creation of proposals with asignatures
array shorter than thecalldatas
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. TheProposalCreated
event correctly represents what will eventually execute, but the proposal parameters as queried throughgetActions
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
andcalldatas
parameters.References