Call to stETH.submit inside DepositWrapper without checking staking rate limits lead do DOS of deposits
Summary
Lido has staking rate limit causing the submit function to revert if amount is greater than the available limit.
Vulnerability Detail
Lido has a limit of 150,000 ETH per 24H for deposit of ETH.
This can cause the ISteth(steth).submit{value: amount}(address(0)); call to revert if the limit is hit.
Impact
Call to deposit with token == weth or token == address(0) (ETH) will revert
infect3d
Medium
Call to
stETH.submit
insideDepositWrapper
without checking staking rate limits lead do DOS of depositsSummary
Lido has staking rate limit causing the
submit
function to revert ifamount
is greater than the available limit.Vulnerability Detail
Lido has a limit of 150,000 ETH per 24H for deposit of ETH. This can cause the
ISteth(steth).submit{value: amount}(address(0));
call to revert if the limit is hit.Impact
Call to deposit with
token == weth
ortoken == address(0)
(ETH) will revertCode Snippet
https://github.com/sherlock-audit/2024-06-mellow/blob/main/mellow-lrt/src/utils/DepositWrapper.sol#L31-L31
Tool used
Manual review
Recommendation
Add a check to
Lido.getCurrentStakeLimit()
and cap the deposit to that value ifamount currentStakeLimit>