Platform: Code4rena
Start Date: 22/09/2023
Pot Size: $100,000 USDC
Total HM: 15
Participants: 175
Period: 14 days
Judge: alcueca
Total Solo HM: 4
Id: 287
League: ETH
Rank: 111/175
Findings: 1
Award: $25.68
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: MrPotatoMagic
Also found by: 0xAadi, 0xDING99YA, 0xDemon, 0xRstStn, 0xSmartContract, 0xStriker, 0xWaitress, 0xbrett8571, 0xfuje, 0xsagetony, 0xsurena, 33BYTEZZZ, 3docSec, 7ashraf, ABA, ABAIKUNANBAEV, Aamir, Audinarey, Bauchibred, Black_Box_DD, Daniel526, DanielArmstrong, DanielTan_MetaTrust, Dinesh11G, Eurovickk, Franklin, Inspecktor, John, Jorgect, Joshuajee, K42, Kek, Koolex, LokiThe5th, MIQUINHO, Myd, NoTechBG, QiuhaoLi, SanketKogekar, Sathish9098, Sentry, Soul22, SovaSlava, Stormreckson, Tendency, Topmark, Udsen, V1235816, Viktor_Cortess, Viraz, Yanchuan, ZdravkoHr, Zims, albahaca, albertwh1te, alexweb3, alexxander, ast3ros, audityourcontracts, bareli, bin2chen, bronze_pickaxe, c0pp3rscr3w3r, cartlex_, castle_chain, chaduke, debo, ether_sky, gumgumzum, imare, its_basu, jaraxxus, jasonxiale, josephdara, kodyvim, ladboy233, lanrebayode77, lsaudit, mert_eren, minhtrng, n1punp, nadin, niroh, nmirchev8, orion, peakbolt, perseverancesuccess, pfapostol, ptsanev, rvierdiiev, saneryee, shaflow2, te_aut, terrancrypt, twcctop, unsafesol, ustas, versiyonbir, windhustler, yongskiws, zhaojie, ziyou-
25.6785 USDC - $25.68
https://github.com/code-423n4/2023-09-maia/blob/main/src/BranchPort.sol#L355 https://github.com/code-423n4/2023-09-maia/blob/main/src/BranchPort.sol#L375 https://github.com/code-423n4/2023-09-maia/blob/main/src/BranchPort.sol#L396 https://github.com/code-423n4/2023-09-maia/blob/main/src/RootPort.sol#L369 https://github.com/code-423n4/2023-09-maia/blob/main/src/RootPort.sol#L414 https://github.com/code-423n4/2023-09-maia/blob/main/src/RootPort.sol#L431
BranchPort.sol #348 https://github.com/code-423n4/2023-09-maia/blob/main/src/BranchPort.sol#L348
function toggleBridgeAgentFactory(address _newBridgeAgentFactory) external override requiresCoreRouter { isBridgeAgentFactory[_newBridgeAgentFactory] = !isBridgeAgentFactory[_newBridgeAgentFactory]; emit BridgeAgentFactoryToggled(_newBridgeAgentFactory); }
BranchPort.sol#355 https://github.com/code-423n4/2023-09-maia/blob/main/src/BranchPort.sol#L355
BranchPort.sol#375 https://github.com/code-423n4/2023-09-maia/blob/main/src/BranchPort.sol#L375
BranchPort.sol#396 https://github.com/code-423n4/2023-09-maia/blob/main/src/BranchPort.sol#L396
https://github.com/code-423n4/2023-09-maia/blob/main/src/RootPort.sol#L369
https://github.com/code-423n4/2023-09-maia/blob/main/src/RootPort.sol#L414
https://github.com/code-423n4/2023-09-maia/blob/main/src/RootPort.sol#L431
The toggle function checks inverts the value foo
inside of isFoo[]
array, which is part of adding creating a foo
through the creation method.
The function toggleBridgeAgentFactory
reverts the isBridgeAgentFactory[_newBridgeAgentFactory]
value, in case bridge agent factory of address 0x123 did not exist before will now has isBridgeAgentFactory[address] equal to true.
which is the same as creating a new branch bridge agent factory, the only difference that the logic will be missing the bridgeAgentFactories.push(_newBridgeAgentFactory);
and the event will not be emmitted.
DoS
#0 - c4-pre-sort
2023-10-07T13:38:10Z
0xA5DF marked the issue as low quality report
#1 - 0xA5DF
2023-10-07T13:38:15Z
Those are mappings, not arrays
#2 - alcueca
2023-10-23T06:03:41Z
Unsafe logic, no impact demonstrated. Valid QA.
#3 - c4-judge
2023-10-23T06:03:55Z
alcueca changed the severity to QA (Quality Assurance)
#4 - c4-judge
2023-10-23T06:04:00Z
alcueca marked the issue as grade-a