The StrategyArb contract is vulnerable to rate manipulation by keepers who can bypass strategy's rate check mechanism by directly calling Ramses Router with the strategy's WETH after claiming it from Transmuter.
StrategyArb.sol
This check ensures that the keeper cannot execute swap at lose which means the exchange rate must greather than 1:1.
Malicious keeper can bypass this check by directly interacting with Ramses router and invoke swapExactTokensForTokens function with bad parameters.
Ramses Router
You can find the implementation contract of Ramses router here:
https://arbiscan.io/address/0x0e216dd4f1b5ea81006d41b79f9a1a69a38f3e37#code
Users will lose some of their funds since there will be a slippage if the malicous keeper execute the function with less amountOutMin
Manual Review
Approve keepers to spend tokens for limited time. Let keepers spend tokens only when they call the claimAndSwap function from strategy contract, when the tx is successful set approved tokens back to 0.
In this way if keeper calls the swapExactTokensForTokens function directly from Ramses router the tx will fail, because he won't be approved to spend tokens.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.