Core Contracts

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

GaugeController.vote() allows users to vote with more than 100% of their weight

Summary

GaugeController.vote() allows users to vote with more than 100% of their weight

Vulnerability Details

When vote() is called, the weight for input gauge is used as input parameter. However it is not taken into account how much weight the caller has already vote for, allowing anybody to vote for multiple gauges with 100% of their weight, leading to contract having votes much higher than expected.

Impact

The overall weight used for voting for gauges will be inflated as users can vote with the 100% of their weight for multiple pools.

Tools Used

Manual review

Recommendations

Add a mapping variable that counts how much of their weight the caller has already used, the total weight used for voting must never exceed 10000.

Updates

Lead Judging Commences

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

GaugeController::vote lacks total weight tracking, allowing users to allocate 100% of voting power to multiple gauges simultaneously

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

GaugeController::vote lacks total weight tracking, allowing users to allocate 100% of voting power to multiple gauges simultaneously

Support

FAQs

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