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
_processDistributions
only checks if totalVeRAACSupply > 0
but 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.