Closed c4-bot-3 closed 6 months ago
relayerFee
is an optional argument: https://docs.connext.network/developers/reference/contracts/calls#xcall
It's also included here:
connext.xcall{ value: _connextDestinationParam[i].relayerFee }
@howlbot reject
Lines of code
https://github.com/code-423n4/2024-04-renzo/blob/519e518f2d8dec9acf6482b84a181e403070d22d/contracts/Bridge/L1/xRenzoBridge.sol#L265-L273
Vulnerability details
Summary
The
connext.xcall()
function call is missing the_relayerFee
parameter in its arguments within thesendPrice()
function. The correct call should include the_relayerFee
as the last argument to match the expected function signature. However, this is not the case.Proof of Concept
This oversight could lead to unexpected behavior during execution as the
xcall()
function relies on the_relayerFee
for its logic.Impact
If the contract compiles (due to an interface mismatch), any transaction calling
sendPrice()
would likely revert because thexcall()
function would not receive the expected arguments. The intended price feed update on the destination chain would not occur, potentially disrupting any dependent operations or systems that rely on up-to-date pricing information.Tools Used
Manual Review
Recommended Mitigation Steps
Include the missing
_relayerFee
parameter in thexcall()
invocation.Assessed type
Error