This is possible due to the following line in the LockManager::extendLock function:
This is bad because user can constantly maintain the same voting power over time, which will imediately make an impact everywhere the veRAACToken::getVotingPower function is used. The vulnerability lies in the fact that a user can always extend his remaining lock duration to be 4 years, making his voting power as high as possible every time he do so, practically resulting in never ending lock
User can maintain his voting power as high as possible with no time boundaries. He also can exceed the maximum lock duration of 4 years
Manual Review
Take the passed lock duration into account and check if the passed duration + remaining duration + extension duration exceed 4 years. This can be done in the `veRAACToken::extend` function as well
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.