Nouns DAO contest - 0xmatt's results

A DAO-driven NFT project on Ethereum.

General Information

Platform: Code4rena

Start Date: 22/08/2022

Pot Size: $50,000 USDC

Total HM: 4

Participants: 160

Period: 5 days

Judge: gzeon

Total Solo HM: 2

Id: 155

League: ETH

Nouns DAO

Findings Distribution

Researcher Performance

Rank: 112/160

Findings: 1

Award: $35.44

🌟 Selected for report: 0

🚀 Solo Findings: 0

Vulnerability Details

Low Findings

L-01 Missing zero checks in constructor

Vulnerability Details

The NounsDAOProxy.sol constructor does not correctly validate passed parameters. This could allow admin_ to be set to address(0), or invalid values could be set for timelock_, nouns_, vetoer_, votingPeriod_, votingDelay_, proposalThresholdBPS_, and quorumVotesBPS_.

The contract should implement bounds checks for key variables. Values such as address(0) or unit256(0) should be rejected. The proposalThresholdBPS_ variable should be checked to ensure it's equal to or greater than MIN_PROPOSAL_THRESHOLD_BPS and is below or equal to MAX_PROPOSAL_THRESHOLD_BPS as defined in NounsDAOLogicv1.sol and NounsDaoLogicv2.sol.

This will reduce the chance of risk through error or omission of parameter values at construction.

Please note that while not checked in the constructor, the implementation_ parameter is checked in the _setImplementation() call later.

Other instances

Although technically not listed as in scope this also applies to NounsDaoProxyv2.sol with the shift from quorumVoteBPS_ to dynamicQuorumParams_.

AuditHub

A portfolio for auditors, a security profile for protocols, a hub for web3 security.

Built bymalatrax © 2024

Auditors

Browse

Contests

Browse

Get in touch

ContactTwitter