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: 27/168
Findings: 2
Award: $790.61
π Selected for report: 0
π Solo Findings: 0
π Selected for report: rbserver
Also found by: Solimander, csanuragjain
729.7931 USDC - $729.79
Defeated proposal will be mark accepted and would be executed due to an incorrect condition.
proposal.forVotes = 0 proposal.againstVotes = 0
As checked with product team, in case of tie proposal should get Defeated
Due to an incorrect condition (missing =), it will instead be Queued for execution, since proposal.forVotes < proposal.againstVotes will be false
function state(bytes32 _proposalId) public view returns (ProposalState) { ... else if (proposal.forVotes < proposal.againstVotes || proposal.forVotes < proposal.quorumVotes) { return ProposalState.Defeated; } ... else { return ProposalState.Queued; } }
Change the condition to include = while comparing votes as shown below
else if (proposal.forVotes <= proposal.againstVotes || proposal.forVotes < proposal.quorumVotes) { return ProposalState.Defeated; }
#0 - GalloDaSballo
2022-09-19T20:54:18Z
50 / 50, meaning this can happen exclusively on 1 specific vote
#1 - GalloDaSballo
2022-09-21T14:29:50Z
π 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
60.8197 USDC - $60.82
Contract: https://github.com/code-423n4/2022-09-nouns-builder/blob/main/src/auction/Auction.sol#L331
If admin sets minimumBidIncrement to 0 percent then one User can overwrite other user bids without need to provide extra funds
Add a check to make sure settings.minBidIncrement>0
require(settings.minBidIncrement>0, "Incorrect increment");
Contract: https://github.com/code-423n4/2022-09-nouns-builder/blob/main/src/auction/Auction.sol#L323
Auction can be extended to an indefinite amount of time
There should be a max cap on timeBuffer
#0 - GalloDaSballo
2022-09-26T21:25:40Z
L
L