Platform: Code4rena
Start Date: 02/08/2022
Pot Size: $50,000 USDC
Total HM: 12
Participants: 69
Period: 5 days
Judge: gzeon
Total Solo HM: 5
Id: 150
League: ETH
Rank: 60/69
Findings: 1
Award: $67.51
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: IllIllI
Also found by: 0x1f8b, 0xDjango, 0xNazgul, 0xc0ffEE, 8olidity, Bnke0x0, Chom, CodingNameKiki, Deivitto, Dravee, Funen, JC, JohnSmith, NoamYakov, ReyAdmirado, Rohan16, Rolezn, Sm4rty, SooYa, TomFrenchBlockchain, TomJ, Waze, __141345__, ajtra, ak1, aysha, bin2chen, bobirichman, brgltd, bulej93, c3phas, delfin454000, durianSausage, erictee, fatherOfBlocks, gogo, horsefacts, hyh, ladboy233, mics, natzuu, nxrblsrpr, oyc_109, rbserver, samruna, sikorico, simon135, tofunmi, wagmi
67.5073 USDC - $67.51
https://github.com/code-423n4/2022-08-mimo/tree/main/contracts/proxy/MIMOProxy.sol#L127-L148
│ File: contracts/proxy/MIMOProxy.sol 127 │ function multicall(address[] calldata targets, bytes[] calldata data) external override returns (byte │ s[] memory) {}
vim
│ File: contracts/proxy/MIMOProxy.sol 127 │ function multicall(address[] calldata targets, bytes[] calldata data) external override returns (byte │ s[] memory) { + if(targets.length != data.length) { + revert(); + } 128 │ if (msg.sender != owner) { 129 │ revert CustomErrors.NOT_OWNER(owner, msg.sender); 130 │ } 131 │ bytes[] memory results = new bytes[](data.length); 132 │ for (uint256 i = 0; i < targets.length; i++) { + if (address(targets[i]) == address(0)) revert(); 133 │ (bool success, bytes memory response) = targets[i].call(data[i]); 134 │ if (!success) { 135 │ if (response.length > 0) { 136 │ assembly { 137 │ let returndata_size := mload(response) 138 │ revert(add(32, response), returndata_size) 139 │ } 140 │ } else { 141 │ revert CustomErrors.LOW_LEVEL_CALL_FAILED(); 142 │ } 143 │ } 144 │ results[i] = response; 145 │ } 146 │ return results; 147 │ } 148 │ }
#0 - horsefacts
2022-08-08T23:18:49Z
#1 - RayXpub
2022-08-10T12:14:34Z
Duplicate of #113