Project

One World
NFTDeFi
15,000 USDC
View results
Submission Details
Severity: medium
Invalid

Front-Running Vulnerability in DAO Creation Allows DoS and Unauthorized “Snatch Registration”

Summary

The lack of protection against front-running in createNewDAOMembership allows attackers to block legitimate DAO creation by registering the same ensName, resulting in DoS and “snatch registration.”

Vulnerability Details

In the createNewDAOMembership function, the DAOInputConfig is passed as an argument, containing the configuration details for the DAO:

function createNewDAOMembership(DAOInputConfig calldata daoConfig, TierConfig[] calldata tierConfigs)
...
}

In the function, getENSAddress[daoConfig.ensname] is checked to ensure it doesn't exist.

require(getENSAddress[daoConfig.ensname] == address(0), "DAO already exist.");

However, this check leaves the function vulnerable to front-running. An attacker could monitor the network, observe the transaction, and then front-run it by registering the same ensName just before the original transaction. This action effectively blocks the original createNewDAOMembership transaction, resulting in a Denial of Service (DoS) for legitimate DAO creation.

Additionally, this behavior allows for “snatch registration,” where an unauthorized party preemptively registers a desired ensName before the legitimate creator, undermining the integrity of the DAO registration process.

Impact

This vulnerability exposes the system to a DoS attack where legitimate DAO creation transactions can be blocked by front-runners who preemptively register identical ensNames. It also enables unauthorized entities to “snatch register” legitimate DAO names, disrupting intended usage and potentially harming the platform’s functionality.

Tools Used

Manual

Recommendations

To mitigate this vulnerability, consider revising the design:

  1. Allow duplicate ensNames to prevent blocking legitimate creations.

  2. Restrict the createNewDAOMembership function to be callable only by FrontEnd Account.

Updates

Lead Judging Commences

0xbrivan2 Lead Judge 7 months ago
Submission Judgement Published
Invalidated
Reason: Known issue
0xbrivan2 Lead Judge 7 months ago
Submission Judgement Published
Invalidated
Reason: Known issue

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.