Core Contracts

Regnum Aurum Acquisition Corp
HardhatReal World AssetsNFT
77,280 USDC
View results
Submission Details
Severity: medium
Valid

Inconsistent Required Quorum

Summary

In the Governance.sol contract the requiredQuorum can change during the voting period due to changes in the total voting power and the quorumNumerator. This can lead to inconsistencies and potential manipulation of the quorum requirement for proposals.

Vulnerability Details

The vulnerability arises from the quorum function, which calculates the required quorum based on the current total voting power and the quorumNumerator. Since the total voting power can change during the voting period and the quorumNumerator can be adjusted by the admin, the requiredQuorum is not consistent throughout the proposal's lifecycle. This inconsistency can lead to situations where the quorum requirement changes after a proposal has been created, potentially affecting the outcome of the vote.

Example Scenario

Consider the following scenario:

  1. A proposal is created with a quorumNumerator of 4% and a total voting power of 1,000,000 veRAAC tokens, resulting in a requiredQuorum of 40,000 votes.

  2. During the voting period, the total voting power increases to 1,200,000 veRAAC tokens, changing the requiredQuorum to 48,000 votes.

  3. Additionally, the admin changes the quorumNumerator to 5%, further increasing the requiredQuorum to 60,000 votes.

This changing quorum requirement can lead to confusion and potential manipulation, as the conditions for passing a proposal are not consistent throughout the voting period.

Impact

By allowing the requiredQuorum to change during the voting period, the protocol introduces uncertainty and potential manipulation into the governance process. Proposers and voters may not have a clear understanding of the quorum requirement, leading to potential disputes and a lack of trust in the governance system.

Tools Used

Manual Review

Recommendations

To mitigate this vulnerability, ensure that the requiredQuorum is consistent for the entire duration of a proposal. This can be achieved by calculating and storing the requiredQuorum at the time of proposal creation and using this stored value for the duration of the proposal.

Updates

Lead Judging Commences

inallhonesty Lead Judge 7 months ago
Submission Judgement Published
Validated
Assigned finding tags:

Governance allows execution of previously-defeated proposals if quorum requirements are later lowered, enabling unexpected resurrection of old proposals

inallhonesty Lead Judge 7 months ago
Submission Judgement Published
Validated
Assigned finding tags:

Governance allows execution of previously-defeated proposals if quorum requirements are later lowered, enabling unexpected resurrection of old proposals

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.

Give us feedback!