Skip to content

Latest commit

 

History

History
42 lines (23 loc) · 1.13 KB

File metadata and controls

42 lines (23 loc) · 1.13 KB

Ripe Sage Ant

High

User will sell votes at an undesirable price

Summary

The missing slippage protection in ReputationMarket.sellVotes() will impact users. Malicious user can sandwich and profit for them, basically stealing from honest users.

Root Cause

In sellVotes() there is a missing slippage protection.

Internal pre-conditions

To attack become profitable fees must be lower than revenue from sandwiching.

External pre-conditions

No response

Attack Path

  1. User1 submits sellVotes() expecting to receive for example 1 ETH.
  2. User2 executes sellVotes(), so after sell price becomes lower.
  3. User1 tx is executed, he receive lower than 1 ETH. Additionally makes price even lower
  4. User2 buys back his votes at the lowered price.

User2 will profit as soon as price impact is higher than fees payed.

Impact

Users always suffer loss on sell operations. Especially when price impact of sell is high.

PoC

No response

Mitigation

Add slippage protection.