The fee distribution function _processDistributions is responsible for allocating a portion of collected fees to veRAAC token holders. Specifically, a portion of the fees is allocated to the variable shares[0], which represents the fee share intended for veRAAC holders. However, the function does not verify whether the allocated shares[0] is appropriate relative to the total veRAAC voting power, obtained via veRAACToken.getTotalVotingPower(). This missing comparison may lead to an improper fee allocation if the calculated shares[0] exceeds the available veRAAC supply, or if the available supply is very low.
Vulnerability Details
_processDistributionsonly checks if totalVeRAACSupply > 0but does not check if the value of shares[0] > totalVeRAACSupply
Misaligned Economic Incentives:
Over-Allocation: Without comparing shares[0] against the total veRAAC supply, the system might allocate more fees than can be reasonably distributed among veRAAC holders. This could lead to an artificially high per-token reward when the available voting power is low.
Manual review
Implement a Comparison Check: Before processing fee distribution for veRAAC holders (shares[0]), compare the calculated allocation to the total veRAAC voting power.
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.