The platform uses incorrect address for WSTETH_ETH_CHAINLINK_PRICE_AGGREGATOR which does not correspond to wsteth/eth aggregator
rather it corresponds to stETH-ETH Price Feed.
The constant is defined as following in C.sol which is parent contract for a lot of in-scope contracts
As a matter of fact , chainlink does not have any aggregator at all for wstheth-eth on ethereum mainnet .
https://data.chain.link/feeds/optimism/mainnet/wsteth-eth
It has this feed only for
Optimism
Arbitrum
Scroll
Polygon
For Eth mainnet , it only has the stETh-eth price feed.
Checking out the difference in prices for wstEth and stETH on coin marketcap
https://coinmarketcap.com/currencies/lido-finance-wsteth/
We see as of writing 29 June ,2024 ,
Price of Lido wstETH =$3,965.45
Price of Lido stETH =$$3,383.57
with a huge difference of around 600$ , any calculation that is based on this wrong price is deemed to fail and damage either protocol itself or its users.
Incorrect price calculations inside
LibWstEThEthOracle.sol, UsdOracle.sol,LibWstEThUsdOracle.sol
which will damage the users or the protocol in the long run
Manual review
Revamp the code according to stEth-Eth logic if you want to deploy on mainnet otherwise change the address of the aggregator for target chains.
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.