When pool managers approve the status of a recipient, the votes for other statuses are not cleared. This leaves open the possibility for managers to continue voting for other statuses and potentially change the recipient's status in the future.
More than one status can be bigger than reviewThreshold and status of recipient can changed everyime. When recipientStatus is setted it should not be changed.
gkrastenov
medium
Not cleaned votes to other recipient statuses
Not cleaned votes to other recipient statuses
Vulnerability Detail
When pool managers approve the status of a recipient, the votes for other statuses are not cleared. This leaves open the possibility for managers to continue voting for other statuses and potentially change the recipient's status in the future.
More than one status can be bigger than
reviewThreshold
and status of recipient can changed everyime. When recipientStatus is setted it should not be changed.Impact
Wrongly setting of status.
Code Snippet
https://github.com/sherlock-audit/2023-09-Gitcoin/blob/main/allo-v2/contracts/strategies/qv-base/QVBaseStrategy.sol#L273
Tool used
Manual Review
Recommendation
Clear votes of other statuses.
Duplicate of #699