The StabilityPool's withdrawal mechanism enables users to receive disproportionate RAAC rewards through partial withdrawals, as reward calculations are based on the current deposit amount without tracking previously claimed rewards.
When users perform a partial withdrawal, the reward calculation happens before the user's deposit is reduced, but no tracking of claimed rewards occurs:
A user can exploit this by:
First withdrawal:
Withdraw 10% of deposit
Get rewards calculated on 100% of deposit
Second withdrawal:
Withdraw remaining 90%
Get additional rewards calculated on 90% of deposit
This vulnerability allows:
Multiple claims of rewards on the same deposit period
Excessive reward distribution
Unfair advantage for users who perform partial withdrawals
Depletion of protocol rewards
Manual review
Calculate rewards based on the withdrawn amount
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.