Health Hack
Incident Overview
Price of the HEALTH token in a Uniswap pool was manipulated allowing the attacker to take a 33 BNB profit.
The exploit was possible due to a bug in the internal _tranfer() function of the token contract that was causing decrease of HEALTH in the pool.
The attack was performed in three transactions. Each transaction involved the following steps:
1. Taking a flash loan of 40 WBNB;
2. Exchanging the borrowed amount to HEALTH;
3. Calling 999 token transfers with 0 value. Due to the bug in _transfer(), the number of HEALTH in the pool decreased each time, hence the token price was increasing.
4. Exchanging the inflated HEALTH token to WBNB with profit.
5. Paying back the flashloan
The attacker contract:
https://bscscan.com/address/0x80e5fc0d…1ea2d4
The attack transactions:
https://bscscan.com/tx/0xae8ca9dc…c66ccf
https://bscscan.com/tx/0x780f7128…e0266a
https://bscscan.com/tx/0x0daad55e…a3a462
Incident Report
Protocol Information
What the Attacker Needed to Succeed
Understanding the prerequisites for this type of attack helps auditors identify protocols that are most at risk and helps developers build better defenses.
What Auditors Should Check
If you're auditing a protocol with similar architecture to Health, these are the critical security checks that could have prevented this incident (October 2022).
- Verify all logic paths related to Other are guarded by proper access controls and input validation
- Review privileged functions (owner, admin, governance) for potential abuse vectors - centralization risks should be documented and bounded with timelocks or multi-sigs
Master these auditing techniques with hands-on labs and real exploit scenarios in the Smart Contract Hacking course.
Free TrialSources & References
Learn to Prevent the Next Health
The Health hack is one of many attacks that skilled auditors are trained to detect before deployment. Master real exploit patterns and defense techniques with hands-on Web3 security training.