88mph Hack
What happened
88mph is a protocol for earning fixed-rate interest on crypto. On June 7, 2021, whitehat Ashiq Amien of iosiro reported a critical bug to Immunefi in three 88mph pools: yaLINK, Harvest CRV:STETH and Harvest CRV:RENWBTC. The init() function of each pool's deposit NFT contract was unprotected. Anyone could call it and become the contract's owner, and the owner could mint and burn deposit NFTs. About $6.5 million, mostly crvRenWBTC, was at risk.
The contracts were not pausable or upgradeable, so on Immunefi's suggestion 88mph set the NFT minter to a dummy contract that reverted on every call. That stopped anyone from front-running the rescue. On June 8, 2021, at 21:46 UTC, 88mph whitehacked the funds to its multisig and then returned them to users. No user funds were lost. 88mph paid iosiro a $42,069 bounty.
How it happened
- The deposit NFT contracts had an
init()function with noonlyOwnermodifier and no one-timeinitializerguard, so anyone could call it at any time. - Calling
init()handed contract ownership to the caller. - As owner, the caller could
burnany user's deposit NFT andmintnew ones to themselves, taking control of the deposits behind them. DeFiHackLabs' reproduction does exactly this on the yaLINK deposit NFT. - No attacker used the bug. 88mph first blocked minting by setting the minter to a dummy contract that reverted on every call, then moved the at-risk funds to its multisig in a whitehack and returned them to users.
Protocol details
Security review history
- Trail of Bits View report
- Code4rena View report
- PeckShield View report
- CertiK View report
- Quantstamp View report
Evidence
- analysis DeFiLlama defillama.com
- analysis 88mph Function Initialization Bugfix Review (Immunefi, 2021-06-14; Wayback copy) web.archive.org
- analysis DeFiHackLabs PoC 88mph_exp.sol raw.githubusercontent.com
- analysis Jun 2021 - 88MPH Init Vulnerability - $6.5m (Quadriga Initiative) quadrigainitiative.com
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.