# The price of rsETH could be manipulated by the first staker

First depositor of Kelp rsETH donates assets to inflate rsETH price, causing later stakers to mint zero rsETH and lose deposits.

- Payout: Contest reward
- Severity: high
- Program: Kelp DAO
- Credited: Krace
- Disclosed: 2023-12-11
- Write-up quality: 6/10
- Original: https://github.com/code-423n4/2023-11-kelp-findings/issues/42
- Library page: https://bugbountylibrary.com/r/c4%3A2023-11-kelp%3AH-03
- Tags: domain:web3 impact:funds-loss kind:contest platform:code4rena sev:high tech:evm tech:solidity technique:source-review vuln:accounting-error vuln:oracle-manipulation vuln:share-inflation

**Target:** LRTDepositPool / LRTOracle rsETH minting
**Root cause:** getRSETHPrice divides total pool value by rsETH totalSupply; with 1 wei supply, a direct donation inflates price so getRsETHAmountToMint rounds to zero, and _mintRsETH does not check for zero minted.
**Steps:**
1. Alice deposits 1 USDC worth, receives 1 wei rsETH (totalSupply=1 wei).
2. Alice transfers 10000 USDC directly to LRTDepositPool, inflating getRSETHPrice to ~10001 ether.
3. Bob deposits 10000 USDC; rsethAmountToMint = (10000e18 * 1) / 10001e18 = 0.
4. Bob receives 0 rsETH but his assets remain in pool, redeemable by Alice's inflated share.
**How found:** Code review of getRsETHAmountToMint and getRSETHPrice; noticed price = totalAssets/totalSupply with no minimum supply or zero-mint check, classic first-depositor donation vector.
**Exploitation:** Attacker is first depositor, mints minimal rsETH, donates large amount to LRTDepositPool to inflate rsETH price, then subsequent depositors mint zero rsETH while their assets accrue to the attacker's share.
**Insight:** Share-price oracles that divide pool value by totalSupply are donation-manipulable when supply can be 1 wei; check mint functions for zero-output acceptance and whether direct token transfers to the pool count toward the price.
