52026 sc medium claimall could revert because of unbounded gas consumptions
Submitted on Aug 7th 2025 at 11:51:26 UTC by @WinSec for Attackathon | Plume Network
Report ID: #52026
Report Type: Smart Contract
Report severity: Medium
Target: https://github.com/immunefi-team/attackathon-plume-network/blob/main/plume/src/facets/RewardsFacet.sol
Impacts:
Unbounded gas consumption
Description
Brief / Intro
Once a validator is added the validatorExists mapping is set to true and there is no way to unset it even if the validator is slashed. The claimAll() function iterates over all reward tokens and, for each token, iterates over all validators associated with the user — and additional loops run when clearing and cleaning up validator relationships. If validators accumulate over time (and some are slashed but not removed), claimAll() can run out of gas and revert.
Impact Details
claimAll may revert due to excessive gas consumption when a user has many associated validators (including slashed ones that remain in $.userValidators and/or validatorExists).
Proof of Concept
References
https://github.com/immunefi-team/attackathon-plume-network/blob/main/plume/src/facets/RewardsFacet.sol#L359-L387
Was this helpful?