Neutra Finance Hack

Reported loss $36K
Arbitrum
Spot Price Manipulation

What happened

On August 1, 2023, an attacker took about 23.5 ETH from Neutra Finance on Arbitrum by manipulating the price used in its LP-token convert function. Neutra's convert contract swapped one Camelot LP token for another. The two pools' LP tokens were both named CMLT-LP (CMLT-LP-65eb for WETH/NEU and CMLT-LP-2ea3). BlockSec Phalcon traced the loss to the convert function relying on a spot price that could be moved within a single transaction.

The attack was funded with a 1,000 WETH Balancer flash loan and repaid in the same transaction. Attacker: 0x39B842bB7287AfC516Db176b76C5cBBd8Caa1E84. Attack tx: 0x6301d4c9f7ac1c96a65e83be6ea2fff5000f0b1939ad24955e40890bd9fe6122.

How it happened

  1. The attacker flash-loaned 1,000 WETH from Balancer.
  2. They swapped 0.15 WETH for NEU and added liquidity to the Camelot WETH/NEU pool, receiving CMLT-LP-65eb tokens.
  3. They swapped 849 WETH into the same pool for NEU, pushing its spot price far out of line.
  4. They called convert() on Neutra's convert contract with their CMLT-LP-65eb, which priced the conversion from the manipulated spot reserves and paid out an outsized amount of CMLT-LP-2ea3 from the contract's balance.
  5. They swapped their NEU back to WETH, burned the CMLT-LP-2ea3 for its underlying tokens, sold those for WETH, and repaid the flash loan, keeping about 23.5 ETH.

Protocol details

Classification Oracle Manipulation
Protocol Type Yield
Implementation language Solidity
Protocol links @Neutrafinance

Security review history

Build your security review skills

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