Usage of TransferFrom & Transfer can have a huge potential risk, some tokens are accepted in the ERC20 environment but do not implement the correct standard, such as USDT which does not return a value, when these tokens are used and called it will not match the required signature
https://github.com/Cyfrin/2024-01-Morpheus/blob/07c900d22073911afa23b7fa69a4249ab5b713c8/contracts/mock/SwapRouterMock.sol#L9-L10
https://github.com/Cyfrin/2024-01-Morpheus/blob/07c900d22073911afa23b7fa69a4249ab5b713c8/contracts/mock/GatewayRouterMock.sol#L15
This can inevitably lead to transactions being able to pass whilst they should fail, and can ultimately end up in a loss of wealth or undesired behavior from the system
Manual review
Make sure to implement SafeTransferFrom & SafeTransfer
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.