Raft Hack
What happened
Raft's collateral-share minting contained a rounding flaw that an attacker amplified by donating cbETH. Tiny deposits then received disproportionately valuable shares, enabling excess collateral claims and issuance of R stablecoins. Most of the ETH obtained by selling R was subsequently burned.
The share calculation used divUp at a very large collateral index. A nonzero deposit could round up to a whole smallest-unit share whose redemption value greatly exceeded the deposit.
How it happened
- The attacker flash-borrowed cbETH and donated it to InterestRatePositionManager.
- A liquidation of a prepared position amplified the collateral index.
- Repeated tiny deposits exploited upward rounding to mint shares worth far more than the deposited collateral.
- The attacker redeemed the inflated share position, borrowed R, and sold it through liquidity pools. Most of the resulting ETH was sent to a burn address.
Protocol details
Security review history
- Trail of Bits View report
Evidence
Proof of concept
1 availableSources
- report Twitter/X Alert twitter.com
- report @AnciliaInc incident report twitter.com
- report Post-mortem mirror.xyz
- analysis Web Archive archive.ph
- analysis Website reference coindesk.com
- analysis DeFiLlama defillama.com
- analysis When Hacking Goes Haywire, Raft's 1570 ETH Loss Takes a Cosmic Detour to the Black Hole metatrust.io
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.