The GaugeController.sol contract defines a MIN_VOTE_WEIGHT constant, which sets the minimum allowable vote weight. However, the vote function does not enforce this constraint, allowing users to submit votes with a weight below the minimum requirement. This could lead to unintended behavior and manipulation of gauge voting.
The vote function takes a weight parameter but only validates that:
The gauge exists (isGauge(gauge)).
The weight does not exceed WEIGHT_PRECISION.
The caller has voting power (veRAACToken.balanceOf(msg.sender) > 0).
Missing Check: The function does not verify that weight is at least MIN_VOTE_WEIGHT.
A user could submit a vote with weight = 0 or any value below MIN_VOTE_WEIGHT, which:
Might cause unexpected distribution of votes.
Could be exploited for strategic voting manipulation.
Might allow users to artificially shift voting results with low-impact votes.
Manual Review.
Modify the vote function to include a minimum weight check:
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.