51728 sc high users can claim rewards for inactive validator periods due to incorrect checkpoint accrual
Description
Brief / Intro
Vulnerability Details
// ValidatorFacet::setValidatorStatus
// Record when the validator became inactive (reuse slashedAtTimestamp field)
// This allows existing reward logic to cap rewards at this timestamp
validator.slashedAtTimestamp = block.timestamp;
// Create a zero-rate checkpoint for all reward tokens to signal inactivity start
for (uint256 i = 0; i < rewardTokens.length; i++) {
PlumeRewardLogic.createRewardRateCheckpoint($, rewardTokens[i], validatorId, 0);
}Impact Details
Suggested Fix
Proof of Concept
Previous51951 sc low a global blocking check in claimprize prevents individual winner claims until all winners are drawnNext52794 sc low remainingforsale not updated after withdrawunsoldarctokens will cause following buy revert
Was this helpful?