Open code423n4 opened 1 year ago
141345 marked the issue as primary issue
publiuss marked the issue as sponsor disputed
This is an issue that is already present in other AMMs. The lack of a fee just makes the DOS cheaper than in other AMMs. However, it still requires paying for 2 Ethereum transaction fees. The use of a private mempool or a higher priority fee solves this problem.
alcueca marked the issue as selected for report
alcueca changed the severity to 2 (Med Risk)
It seems to me that the DoS can be economical enough for the attacker to disrupt the UX by forcing all users to use private mempools.
Lines of code
https://github.com/code-423n4/2023-07-basin/blob/c1b72d4e372a6246e0efbd57b47fb4cbb5d77062/src/Well.sol#L190
Vulnerability details
Description
The Well allows users to permissionless swap assets or add and remove liquidity. Users specify the intended slippage in
swapFrom
, inminAmountOut
.The ConstantProduct2 implementation ensures
Kend - Kstart >= 0
, whereK = Reserve1 * Reserve2
, and the delta should only be due to tiny precision errors.Furthermore, the Well does not impose any fees to its users. This means that all conditions hold for a successful DOS of any swap transactions.
Note that such DOS attacks have serious adverse effects both on the protocol and the users. Protocol will use users due to disfunctional interactions. On the other side, users may opt to increment the max slippage in order for the TX to go through, which can be directly abused by the same MEV bots that could be performing the DOS.
Impact
All swaps can be reverted at very little cost.
POC
Tools Used
Manual audit
Recommended Mitigation Steps
Fees solve the problem described by making it too costly for attackers to DOS swaps. If DOS does takes place, liquidity providers are profiting a high APY to offset the inconvenience caused, and attract greater liquidity.
Assessed type
DoS