The DAO Hack
What happened
On June 17, 2016, an attacker exploited a reentrancy flaw in The DAO's Ethereum split mechanism, moving roughly 3.6 million ETH into a child DAO. Ethereum later adopted a recovery fork that moved Dark DAO and Whitehat DAO funds into WithdrawDAO for token-holder withdrawals.
A recipient-controlled external call was reachable before the split and reward accounting had fully updated, allowing recursive re-entry with stale state.
Case & protocol details
Attack Timeline
A split request calculated the holder's claim and reached an external payout before the DAO completed its accounting. The attacker's child contract used that callback to invoke the split path again while the original call still saw the old state, repeating the withdrawal process.
Evidence & learning
Attack pattern
Compare incidents →Sources and on-chain records
- report Report ogucluturk.medium.com
- report Post-mortem medium.com
- code Code reference github.com
- analysis Website reference hackingdistributed.com
- analysis Ethereum Foundation - CRITICAL UPDATE Re: DAO Vulnerability blog.ethereum.org
- analysis Ethereum Foundation - Hard Fork Completed blog.ethereum.org
Practice this exploit pattern safely
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.