In the BoostController.sol contract the delegateBoost function does not update totalBoost and workingSupply for the pool (to), leading to incorrect boost calculations.
The vulnerability arises from the delegateBoost function, which delegates boost from one user to another without updating the totalBoost and workingSupply for the recipient pool. This omission can lead to incorrect boost calculations, as the pool's total boost and working supply are not accurately reflected after the delegation.
By not updating the totalBoost and workingSupply for the recipient pool, the protocol will calculate incorrect boost values for users and pools when a boost is removed through removeBoostDelegation. This can result in users receiving higher or lower boosts than intended, affecting the fairness and accuracy of the boost system. Over time, this can undermine user trust and the integrity of the protocol.
Manual Review
To mitigate this vulnerability, update the delegateBoost function to include the necessary updates to totalBoost and workingSupply for the recipient pool. Here is an example of how to implement this:
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.