Kelp DAO | rsETH - shealtielanz'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: 185/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
QA (Quality Assurance)
satisfactory
sufficient quality report
duplicate-479
Q-13

External Links

Lines of code

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

Vulnerability details

Impact

In LRTDepositPool.sol the function getRsETHAmountToMint() gets the price of an asset from chainlink via the aggregator and uses it to calculate the rsETH amount to mint for a certain amount of LST, the issue is that different chainlink aggregator feeds have different decimals for different tokens whenever it returns the price, the price should be scaled in order to prevent rounding issues whenever it is divided by a value in 1e18, this can be seen when rsETH in the pool is 0, it returns 1 ether which is Wei in 18 decimal places Consider an amount of LST = 3 and the price from the feed is 1e8 dividing by 1 ether which is 1e18 will lead to rounding error where 3 * 1e8 / 1e18 The value gotten will be rounded down to zero.

  • Incorrect amounts of rsETH to mint will be returned for tokens with a different decimal place value than rsETH:ETH

Tools Used

Manual review

Consider the tokens decimal whenever getting the rsETH amount to mint for a particular token.

Assessed type

Decimal

#0 - c4-pre-sort

2023-11-16T23:04:16Z

raymondfam marked the issue as sufficient quality report

#1 - c4-pre-sort

2023-11-16T23:04:33Z

raymondfam marked the issue as duplicate of #97

#2 - c4-pre-sort

2023-11-17T08:02:11Z

raymondfam marked the issue as duplicate of #479

#3 - c4-judge

2023-12-01T18:01:01Z

fatherGoose1 changed the severity to 2 (Med Risk)

#4 - c4-judge

2023-12-01T18:06:50Z

fatherGoose1 marked the issue as satisfactory

#5 - c4-judge

2023-12-04T17:24:48Z

fatherGoose1 changed the severity to QA (Quality Assurance)

#6 - c4-judge

2023-12-08T18:53:03Z

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