DeFiHardhat
35,000 USDC
View results
Submission Details
Severity: low
Invalid

`stETH` can be paused, all calls to `getWstethEthPrice` will revert.

Summary

stETH can be paused, so all transfers and any interactions would revert. Even the migration will revert. In beanstalk case when getWstethEthPrice is called it calls IWsteth(C.WSTETH).stEthPerToken() function for getting amount of stETH for a one wstETH so this will also revert. Because when stEthPerToken is called it calls stETH.getPooledEthByShares from IStETH. For ref check this code

Impact

getWstethEthPrice which returns the wstETH/ETH price with the option of using a TWA lookback will always revert.

Migration will also be effected when getTokenPrice is called in beginBarnRaiseMigration by oracle LibUsdOracle.

Recommendations

Add the following check where the stETH is used, e.g before calling IWsteth(C.WSTETH).stEthPerToken() add below check so it will nicely revert with a proper message.

require(!stETH.isStopped(), "wstETH: transfer is stopped");
Updates

Lead Judging Commences

giovannidisiena Lead Judge about 1 year ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

stETH paused

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.