A vulnerability has been identified in the withdraw functions of both LendingPool and StabilityPool contracts that allows for potential flash loan exploitation. Users can deposit and withdraw large amounts within the same block to extract liquidity and rewards inappropriately.
The vulnerability exists in two key functions:
The vulnerability has been proven through testing:
Potential for market manipulation through flash loan attacks
Unauthorized reward extraction
Possible drainage of protocol assets
Similar to the zkLend exploit which resulted in a $10M loss
Manual code review
Unit testing with Hardhat
Reference analysis of zkLend exploit
sonnet 3.5 cluade Ai for to edit my report
Implement a cooldown period between deposits and withdrawals (minimum 12 seconds/1 block)
Add early withdrawal penalties to discourage quick deposit/withdraw cycles
Implement progressive reward vesting to ensure rewards are earned over time
Consider adding withdrawal limits per block
Add additional checks for flash loan detection
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.