49616 sc high user can steal rewards
Submitted on Jul 17th 2025 at 18:55:47 UTC by @shadowHunter for Attackathon | Plume Network
Report ID: #49616
Report Type: Smart Contract
Report severity: High
Target: https://github.com/immunefi-team/attackathon-plume-network/blob/main/plume/src/facets/StakingFacet.sol
Impacts:
Theft of unclaimed yield
Description
Brief / Intro
It appears that on a fresh stake, $.userValidatorRewardPerTokenPaidTimestamp is only updated for active reward tokens and not for historical (previously removed) reward tokens. This creates a window where a user can receive unauthorized rewards.
Impact: User can steal rewards (theft of unclaimed yield).
Vulnerability Details
Impact Details
User can steal rewards.
Recommendation
Update _initializeRewardStateForNewStake to iterate all historical reward tokens instead of just $.rewardTokens to ensure state is updated properly for all reward tokens (including ones that were previously removed).
Proof of Concept
Was this helpful?