Fluid Lending (2026) — Crypto Hack
Funds LaunderedBoth reward distribution keys held by single attacker allowed fake Merkle root to drain $215K in 24 seconds
Summary
Both reward distribution keys held by single attacker allowed fake Merkle root to drain $215K in 24 seconds
How It Was Compromised — Private Key Compromise via Attacker controlled both reward distribution keys. Proposer key submitted fake Merkle root, approver key approved it 12 seconds later. Empty Merkle proof claim went through 24 seconds after initial proposal. Two-person control meant nothing once one person held both keys.
On May 27, 2026, Fluid lost $215K after one attacker controlled both reward distribution keys. Fluid uses a two-step system: one key proposes a Merkle root and a second key approves it. Both roles were held by a single actor. The proposer key submitted a self-serving root to the FLUID distributor at 21:11:11 UTC. Twelve seconds later, the same attacker approved it using the approver key. Twenty-four seconds after the initial proposal, a claim went through using an empty Merkle proof. The same cycle ran against the GHO distributor at 21:13:59 UTC and a third distributor for cbBTC hours later. Core protocol smart contracts remained unaffected.
Fund Flow & Laundering Analysis
Stolen FLUID and GHO were swapped for roughly 103 ETH through MetaMask swap router. About 142.6 ETH ended up in Tornado Cash, routed partly through relay wallets and partly by direct deposit. L2 proceeds from Base and Arbitrum were bridged back to Ethereum before mixing. The entire exploit ran in under 24 seconds from proposal to claim. No delay existed between root approval and payout.