delegateBoost in BoostController contract allows user to delegate his boost to another address. The issue is that user can delegate 100% of his boost to infinite amount of addresses increasing the voting power of these addresses.
If we look at delegateBoost we can see that it does not prevent user from delegating their boost to multiple addresses. It only checks if user does not try to delegate more than he has and if the to address is different than 0.
The impact is very severe as this exploit allows user to create not existing votes and delegate them to different addresses increasing their voting power.
Manual Review, Hardhat
Fix delegateBoost function. Add checks to see if user delegated all of his boost. If yes revert and if not allow him to delegate rest of his boost.
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.