Platform: Code4rena
Start Date: 06/09/2022
Pot Size: $90,000 USDC
Total HM: 33
Participants: 168
Period: 9 days
Judge: GalloDaSballo
Total Solo HM: 10
Id: 157
League: ETH
Rank: 110/168
Findings: 1
Award: $61.24
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: Lambda
Also found by: 0x1337, 0x1f8b, 0x4non, 0x85102, 0xA5DF, 0xNazgul, 0xSmartContract, 0xbepresent, 0xc0ffEE, 8olidity, Aymen0909, B2, Bnke0x0, CRYP70, Captainkay, CertoraInc, Ch_301, Chom, ChristianKuri, CodingNameKiki, Deivitto, Diana, DimitarDimitrov, ElKu, EthLedger, Franfran, Funen, GimelSec, JansenC, Jeiwan, Jujic, Lead_Belly, MEP, MasterCookie, MiloTruck, Noah3o6, PPrieditis, PaludoX0, Picodes, PwnPatrol, R2, Randyyy, RaymondFam, Respx, ReyAdmirado, Rolezn, Samatak, Tointer, Tomo, V_B, Waze, _Adam, __141345__, a12jmx, ak1, asutorufos, azephiar, ballx, bharg4v, bin2chen, bobirichman, brgltd, bulej93, c3phas, cccz, ch0bu, cloudjunky, cryptonue, cryptostellar5, cryptphi, csanuragjain, d3e4, datapunk, davidbrai, delfin454000, dharma09, dic0de, dipp, djxploit, eierina, erictee, fatherOfBlocks, gogo, hansfriese, hyh, imare, indijanc, izhuer, jonatascm, ladboy233, leosathya, lucacez, lukris02, m9800, martin, minhtrng, ne0n, neumo, oyc_109, p_crypt0, pashov, pauliax, pcarranzav, pedr02b2, peritoflores, pfapostol, rbserver, ret2basic, robee, rvierdiiev, sach1r0, sahar, scaraven, sikorico, simon135, slowmoses, sorrynotsorry, tnevler, tonisives, volky, yixxas, zkhorse, zzzitron
61.2354 USDC - $61.24
Line number : https://github.com/code-423n4/2022-09-nouns-builder/blob/main/src/token/Token.sol#L30-L32
manager
is immutable, therefore it should be 0 address checked.
Line number : https://github.com/code-423n4/2022-09-nouns-builder/blob/main/src/manager/Manager.sol#L55-L72
tokenImpl
, metadataImpl
, auctionImpl
, treasuryImpl
and governorImpl
are immutable, therefore it should be 0 address checked.
Line number: https://github.com/code-423n4/2022-09-nouns-builder/blob/main/src/manager/Manager.sol#L80
This could lead to a race condition when the contract is deployed. At that moment a hacker could call the initialize
function and make the deployed contract useless. Then it would have to be redeployed, costing a lot of gas.
Line number: https://github.com/code-423n4/2022-09-nouns-builder/blob/main/src/token/Token.sol#L305
If the address of newImpl
is assigned by mistake to a malicious or a 0 address than the upgraded contract will lead to DOS.
Some contracts use an unlocked pragma
. Locking the pragma helps ensure that contracts do not accidentally get deployed using a different compiler version with which they have been tested the most.
https://github.com/code-423n4/2022-09-nouns-builder/tree/main/src/lib
All contracts present inside the folder have unlocked pragma
, avoid using it.
#0 - GalloDaSballo
2022-09-26T21:02:29Z
3L 1 NC (pragma is NC)