#43856 [SC-Low] Dispatcher._dispatch() does not revert on failure of transfer of funds when called with the TRANSFER_NATIVE command
Description
Brief/Intro
Vulnerability Details
function _dispatch(bytes1 _commandType, bytes calldata _inputs) internal {
uint256 command = uint8(_commandType & Commands.COMMAND_TYPE_MASK);
// function truncted to only show relevant parts.
. . .
else if (command == Commands.TRANSFER_NATIVE) {
(address recipient, uint256 amount) = abi.decode(_inputs, (address, uint256));
// call does not revert on failure
(bool success, ) = payable(recipient).call{value: amount}("");
}
. . .
}Impact Details
Proof of Concept
Proof of Concept
Previous#44158 [SC-Low] Dispatcher does not check if native transfers are successfulNext#44035 [SC-Low] Lack of validation in native transfer allows attacker to steal user funds
Was this helpful?