When the user withdraws Rtokens
from the stability
pool, they also get a share of raac rewards in the contract which depends on their share of the Rtokens
in the pool. However, the raac rewards claim can be manipulated by a malicious user to claim a large share of the rewards
The user calls the withdraw
function to withdraw an amount
of rToken and raac rewards
The amount of raac rewards to claim depends on rToken share of the user in the pool
Since the rewards are calculated based on the user's proportion of total deposits. A malicious user can temporarily inflate their share by making a large deposit which will allow the malicious user to have a large share of the total deposits and also claim a large share of the raac rewards once they withdraw their rTokens.
Also, since each withdrawal calculates and transfers rewards independently, the malicious user can make multiple small withdrawals to claim large rewards repeatedly.
Attack Flow:
Attacker deposits a large amount of RTokens
Makes multiple small withdrawals
Each withdrawal claims rewards based on their large total deposit
Can potentially drain most or all RAAC rewards
Disproportionate distribution of RAAC rewards
Potential drainage of protocol rewards
Loss of rewards for legitimate users
Manual
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.