About 257,328 dUSD left dTRINITY's dLEND lending pool on Ethereum on 17 March 2026 after an empty cbBTC reserve's liquidity index was pushed to about 6.23e33, 6.2 million times its starting value, so rounding let the attacker withdraw its collateral from under the loan. Verichains puts the loss at about $257.3K.
Security ·
Logged as “2026-03-17: Empty Market Liquidityindex Inflation on dTRINITY dLEND”.
dLEND is a fork of Aave V3. Its cbBTC reserve was effectively empty, which let one depositor set the supply that every flash loan premium is divided by.
The mechanism sits in the flash loan repayment path. FlashLoanLogic._handleFlashLoanRepayment books the premium into the reserve index through ReserveLogic.cumulateToLiquidityIndex, and that function divides the premium by the aToken's totalSupply. The smaller the supply, the larger the index movement for any premium. The code is inherited from Aave before V3.1, so the ReserveData struct carries no virtualUnderlyingBalance to absorb the effect.
Verichains describes it as an empty market weakness common in Aave V3 forks, where reserves with extremely low liquidity behave unpredictably. The DeFiHackLabs entry and its proof of concept reproduce both transactions on a fork.
The first, on 17 March 2026, inflated the index.
0x504D0Eacbf9ea5645A8A9da1b15f3708A5483AcC. A raw transfer mints no shares, so totalSupply stays at about 1.getReserveNormalizedIncome for cbBTC climbs from 1e27 to 6226621999999999999999999979728276, about 6.23e33.That first transaction leaves the index at about 6.2 million times its starting value, with one scaled share now worth about 0.0623 cbBTC.
The second transaction, 24 seconds later, used that state. A deposit of 7.72101004 cbBTC was credited at face value, 124 scaled shares, and at the oracle price of $73,724.74 and a 73 percent loan-to-value limit it supported the 257,328 dUSD borrow with room to spare. The collateral was never overstated. The theft came after the borrow. In 126 withdraw-and-deposit pairs, each withdrawal of 0.0934 cbBTC burned one scaled share, because 1.5 shares rounded down to one, and each deposit of 0.0318 cbBTC minted one, because 0.51 rounded up. Every pair took about 0.0616 cbBTC out of the pool without changing the position's share count, so the collateral stayed on the books while the cbBTC behind it left. A final withdrawal finished the job, the attacker repaid Morpho, and the dUSD went to its own address.
Verichains puts the loss at about $257.3K, and DeFiHackLabs records about 257K USD. On-chain, 257,328.63 dUSD moved from the dLEND dUSD reserve to the attack contract 0xba5e1e36b0305772d35509c694782fb9118d4ecc and on to the attacker 0x08cfdff8ded5f1326628077f38d4f90df6417fd9, which swapped 227,328 of it for 226,483 USDC within ten minutes. dUSD held its peg, so the USD figure is close to what was realised.
dTRINITY paused the protocol on Ethereum while it investigated, per cryip.
The closest mechanism in the corpus is Set Protocol's RebalancingSetTokenV3, where actualizeFee() recomputed unitShares with divCeil and widened the gap between issue and redeem by one unit. Here the unit was one scaled share, worth 0.0623 cbBTC once the index had been inflated, and the attacker collected the gap 126 times.
Query every incident yourself — free, no signup
Updated 11 Nov 2026. Figures are as reported by the sources listed above and are not independently verified.