20,000 USDC
View results
Submission Details
Severity: high
Valid

minAmountOut is zero

Summary

amountOutMinimum is used to specify the minimum amount of tokens the caller wants to be returned from a swap. Using amountOutMinimum = 0 tells the swap that the caller will accept a minimum amount of 0 output tokens from the swap, opening up the user to a catastrophic loss of funds via MEV bot sandwich attacks.

Vulnerability Details

ISwapRouter.ExactInputSingleParams memory params = ISwapRouter
.ExactInputSingleParams({
tokenIn: _profits,
tokenOut: WETH,
fee: 3000,
recipient: address(this),
deadline: block.timestamp,
amountIn: amount,
amountOutMinimum: 0,
sqrtPriceLimitX96: 0
});

Using amountOutMinimum = 0 tells the swap that the caller will accept a minimum amount of 0 output tokens from the swap

Impact

loss of funds via MEV bot sandwich attacks.

Tools Used

Manual

Recommendations

Use parameters amountOutMinimum correctly to avoid loss of funds.

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.