The breach was facilitated by changes made to UwU Lend’s contract, which is a fork of AAVE V2, particularly in the oracle fallback logic. This allowed the attacker to borrow assets at one rate and liquidate them at an artificially inflated rate.

According to a root cause analysis by Nick Franklin, the exploit capitalized on a price discrepancy in UwU Lend’s oracles. The attacker used a flash loan to manipulate the price of sUSDe tokens, exploiting the protocol’s fallback oracle, which calculated prices based on the state of several Curve pools.

Attacker:

Exploit Transactions:

Stolen funds:

How the Exploit Worked

The attacker executed the following steps:

  1. Flash Loan Utilization: The attacker initiated a flash loan to borrow a large amount of tokens.
  2. Pool State Manipulation: Using the borrowed tokens, the attacker made significant trades within the Curve pools. This activity manipulated the pool states.
  3. Price Feed Manipulation: The manipulated pool states influenced the fallback oracle’s price feed, causing it to report incorrect prices.
  4. Borrowing and Liquidation: With the manipulated prices, the attacker borrowed sUSDe at a rate of $0.99. They then liquidated positions at an inflated rate of $1.03, profiting from the price discrepancy.