Earning.Farm Hack

Reported loss $541K
Ethereum
Reentrancy

What happened

Earning.Farm's EFVault paid ETH during withdrawal before completing its share accounting. The attacker transferred shares to another contract during the payment callback, allowing shares to survive the withdrawal and be redeemed again.

Technical root cause

The withdrawal path transferred control before finalizing share state. A balance clamp then reduced the burn to the caller's post-callback balance, preserving transferred shares after the first redemption.

How it happened

  1. The attacker deposited ETH and received vault shares.
  2. A withdrawal sent ETH to the attacker before the shares were burned.
  3. During the callback, the attacker transferred shares to a second contract. The withdrawal then reduced its burn to the first contract's remaining balance.
  4. The second contract redeemed the surviving shares, extracting additional ETH.

Protocol details

Classification Protocol Logic / Other / Reentrancy
Protocol Type Exploit/Reentrancy
Implementation language Solidity
Protocol links Website @EarningFarm

Understand the attack patterns

Build your security review skills

Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.