Kelp DAO | rsETH - ro1sharkm's results

A collective DAO designed to unlock liquidity, DeFi and higher rewards for restaked assets through liquid restaking.

General Information

Platform: Code4rena

Start Date: 10/11/2023

Pot Size: $28,000 USDC

Total HM: 5

Participants: 185

Period: 5 days

Judge: 0xDjango

Id: 305

League: ETH

Kelp DAO

Findings Distribution

Researcher Performance

Rank: 137/185

Findings: 1

Award: $2.76

QA:
grade-b

🌟 Selected for report: 0

🚀 Solo Findings: 0

Awards

2.7592 USDC - $2.76

Labels

bug
downgraded by judge
grade-b
insufficient quality report
QA (Quality Assurance)
duplicate-168
Q-57

External Links

Lines of code

https://github.com/code-423n4/2023-11-kelp/blob/f751d7594051c0766c7ecd1e68daeb0661e43ee3/src/LRTOracle.sol#L52

Vulnerability details

Impact

A Malicious actor could manipulate on-chain values, such as the total supply of rsETH, to influence the calculated rsETHPrice. Users relying on the accurate pricing mechanism may experience financial loss or gain due to manipulated on-chain values

Proof of Concept

https://github.com/code-423n4/2023-11-kelp/blob/f751d7594051c0766c7ecd1e68daeb0661e43ee3/src/LRTOracle.sol#L52 This vulnerability arises from the use of on-chain values, specifically the total supply of rsETH (rsEthSupply), to determine the price of rsETH. A Malicious actor can potentially manipulate on-chain values to their advantage, potentially affecting the overall token economy and user trust.

return totalETHInPool / rsEthSupply;

Example Scenario:

The mint function in LRTDepositPool relies on the accurate rsETHPrice obtained from getRSETHPrice to calculate the amount of rsETH to mint based on the value of the provided asset. Due to the manipulated rsETH price, users may receive more or fewer rsETH tokens than expected when providing assets for minting.

rsethAmountToMint = (amount * lrtOracle.getAssetPrice(asset)) / lrtOracle.getRSETHPrice();

Tools Used

Manual Analysis

Explore alternative methods for calculating the rsETH price that are less susceptible to manipulation, such as using a decentralized price oracle or a moving average of recent prices.

Assessed type

Oracle

#0 - c4-pre-sort

2023-11-16T07:40:19Z

raymondfam marked the issue as insufficient quality report

#1 - c4-pre-sort

2023-11-16T07:40:38Z

raymondfam marked the issue as duplicate of #168

#2 - c4-judge

2023-12-01T16:58:42Z

fatherGoose1 changed the severity to QA (Quality Assurance)

#3 - c4-judge

2023-12-01T18:42:48Z

fatherGoose1 marked the issue as grade-b

AuditHub

A portfolio for auditors, a security profile for protocols, a hub for web3 security.

Built bymalatrax © 2024

Auditors

Browse

Contests

Browse

Get in touch

ContactTwitter