Skip to content

Latest commit

 

History

History
 
 

VesperRariFuse

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Rari Fuse

Step-by-step

  1. Call sweepToken specifying the secondary address of tUSD.
  2. Take advantage of the new price of tUSD now that there is no underlying balance.

Detailed Description

Rari Fuse is a platform in where anyone can create their own lending platform, specifying which assets can be traded. The attacker here targeted Pool 23, managed by Vesper.

The attack is relatively simple, although it does involve puting the capital at risk.

The attacker's call trace is a bit more complicated, but conceptually what they did was buying out all the VUSD in the pool. The pool will now value VUSD extremely high, much higher than its market price.

This can't be executed by a flash-loan, because the pool uses Uniswap's V3 Time-Weighted Average Price Oracle to set its price. But the attacker simply used its own capital. This is possible due to the relatively low liquidity of the pool (only ~200K of VUSD available).

Normally, one would expected arbitrers to return the price to something close to the current market price. This didn't happen in time.

The attacker was thus left with a lot of overprice VUSD, which they used to take out loans using it as a collateral.

Possible mitigations

  • Most likely, the solution to this is offchain. If managing a low-liquidity pool, it is advisable to run an arbitrers to protect against this kind of manipulations.
  • Setting the TWAP with a higher delay can also help smoothing the curve, but there's always a risk of going too far and not being able to react in time to natural price variations.

Diagrams and graphs

Class

class

Sources and references