Closed c4-submissions closed 1 year ago
raymondfam marked the issue as sufficient quality report
raymondfam marked the issue as duplicate of #212
raymondfam marked the issue as duplicate of #537
gzeon-c4 changed the severity to 2 (Med Risk)
gzeon-c4 marked the issue as satisfactory
Lines of code
https://github.com/code-423n4/2023-09-centrifuge/blob/512e7a71ebd9ae76384f837204216f26380c9f91/src/gateway/routers/axelar/Router.sol#L73-L86 https://github.com/code-423n4/2023-09-centrifuge/blob/512e7a71ebd9ae76384f837204216f26380c9f91/src/gateway/routers/axelar/Router.sol#L43-L54
Vulnerability details
Impact
Protocol's important function called by
gateaway
contract'shandle
function.And This function should be called by
router
.router
hasexecute
function to callhandle
This execute function use
onlyCentrifugeChainOrigin
modifier.From this modifier it can be seen that only
axelargateaway
can call this function but the main problem isaxelargateaway
has not functionality to make external calls it just verify interchain messages. Other addresses should make calls verified calls.Proof of Concept
From axelargateaway contract https://github.com/axelarnetwork/axelar-cgp-solidity/blob/main/contracts/AxelarGateway.sol it can be seen that,
execute
function can make verification of call paramaters(address,data) but don't call directly.If you look at other functions, it can be seen that there is no way for make call for interchain messages too. So in short it can be said that router will never be executed so handle and protocol important functions too. Also from this link :https://docs.axelar.dev/learn/network/flow#submitting-a-message-to-the-destination-chain It can be seen that relayer services will call this approved messages in destination chain but not directly axelargateaway do.
Tools Used
Recommended Mitigation Steps
Assessed type
Invalid Validation