# `QVBaseStrategy` contract : recipient `reviewStatus` is not reset upon re-registration

QVBaseStrategy fails to reset reviewsByStatus on re-registration, letting a recipient reach Accepted with fewer reviewer votes than the threshold.

- Payout: Contest reward
- Severity: medium
- Program: Gitcoin
- Credited: ArmedGoose
- Disclosed: 2023-09-01
- Write-up quality: 6/10
- Original: https://github.com/sherlock-audit/2023-09-Gitcoin-judging/issues/729
- Library page: https://bugbountylibrary.com/r/sherlock%3A2023-09-Gitcoin%3AM-13
- Tags: domain:web3 impact:integrity kind:contest platform:sherlock sev:medium tech:solidity technique:source-review vuln:business-logic vuln:governance

**Target:** QVBaseStrategy.sol recipient review/registration logic
**Root cause:** reviewsByStatus[recipientId][status] counters are never cleared when a recipient re-registers, so prior review votes accumulate across registration rounds.
**Steps:**
1. Recipient registers; status None -> Pending.
2. Pool manager calls `reviewRecipients([id],[Accepted])`; reviewsByStatus[id][Accepted]++ until it reaches reviewThreshold, status becomes Accepted.
3. Recipient re-registers with new terms via `_registerRecipient`; status Accepted -> Pending but reviewsByStatus[id][Accepted] stays at threshold.
4. Next review round: a single `reviewRecipients([id],[Accepted])` call increments the stale counter past threshold, immediately re-accepting with far fewer votes.
**How found:** Code reading of _registerRecipient vs reviewRecipients: noticed status transitions on re-registration but no reset of the reviewsByStatus tally that gates acceptance.
**Exploitation:** A recipient who was previously accepted re-registers and gets re-accepted in the next review round with a single reviewer vote instead of the full reviewThreshold, bypassing the review quorum.
**Insight:** When a state machine has both a status field and separate vote/tally counters gating transitions, check that every status reset also clears the counters — stale tallies let quorum be reached with fewer fresh votes.
