Send the eth to the aggregator instead of the user 'recipient'. In this way, the aggregator will have the eth and the user will not, this is not the desired behavior.
Proof-of-concept
In the _transferOutAndCallV5() function, line 324, you send eth to the aggregator instead of the user.
Lines of code
https://github.com/code-423n4/2024-06-thorchain/blob/main/ethereum/contracts/THORChain_Router.sol#L324
Vulnerability details
Impact
Send the eth to the aggregator instead of the user 'recipient'. In this way, the aggregator will have the eth and the user will not, this is not the desired behavior.
Proof-of-concept
In the _transferOutAndCallV5() function, line 324, you send eth to the aggregator instead of the user.
Unlike in the transferOutAndCall() function, line 278 where you send the eth to the user when swapOutV5() function fails:
Tools Used
Manual review
Recommended Mitigation Steps
Change the line 324:
Assessed type
Context