GovernorCompatibilityBravo may trim proposal calldata (OpenZeppelin openzeppelin-contracts)

CVE-2023-30542
MEDIUM 6.8

At a glance

Source
NVD
EPSS
EPSS 0.58 % Β· percentile 48 ()
State
PUBLISHED
Published
Updated
Assigner
GitHub_M
NVD status
Modified

Description

OpenZeppelin Contracts is a library for secure smart contract development. 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. This issue has been patched in 4.8.3. As a workaround, ensure that all proposals that pass through governance have equal length `signatures` and `calldatas` parameters.

Weaknesses (CWE)

  • CWE-20 β€” Improper Input Validation

References

Scores

VersionScoreVectorScored by
CVSS 3.1MEDIUM 6.8CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:LGitHub_M
CVSS 3.1MEDIUM 6.8CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:LNVD Β· security-advisories@github.com (Secondary)
CVSS 3.1HIGH 8.8CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HNVD Β· nvd@nist.gov (Primary)

Advisories

European references

Affected configurations (NVD CPE)

Affected products

ProductVersions
OpenZeppelin Β· openzeppelin-contractsaffected >= 4.3.0, < 4.8.3

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST β€” attribution requested
ENISA EUVDENISA β€” reproduction authorised, source acknowledged
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain β€” this product uses data from the NVD API but is not endorsed or certified by the NVD