Blizzard Hack
Reported loss
$1.1M
Other
What happened
The insider attack was performed by 2 team members: front-end and back-end developers.
Developers had access to the key contracts as they were members of a multisignature account, which requires only 2 signs.
- Whitehat reported found bug in the vault contracts to the Immunefi team
- Whitehat received bug bounty and the core team of Blizzard asked the back-end developer to remove retired vaults, put 0 reward rate and disable deposits.
- Front-end and back-end started testing new vaults:
- Back-end dev set the rewardMintRate to 50 BLIZZ per block
- Developers exploited the harvesting issue:
- Front-end dev had removed the retired PNG-AVAX vaults from the website front.
- Developers exploited a single USDC vault:
- Developers dumped received tokens:
- Attackers used Anyswap bridge to transfer funds on Ethereum, and then, on the Binance Smart Chain
- Stolen funds were deposited into Tornado Cash mixer at:
The exploit is described in 3 steps:
- Modify the rewardRate, by calling setRewardMintRate(uint256 _rate) with the following parameter: 50000000000000000000
- Deposit any amount of USDC and wait until the desired amount of tokens has been minted
- Call claim() to transfer the rewards from the origin pool and additional minted token rewards from the aggregator to the beneficiary.
Protocol details
Classification
Yield Aggregator
Protocol Type
Yield
Affected asset / contract
BLIZZ
Protocol links
Website
@BlizzardAVAX
Evidence
- report Post-mortem medium.com
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.