The createNewDAOMembership
function in the MembershipFactory contract is vulnerable to reorganization attacks. When users create a new DAO, the contract deploys a proxy at a deterministic address based on the factory's nonce. An attacker monitoring the mempool can front-run the original transaction during a chain reorganization and deploy their own DAO at the same address. This becomes particularly dangerous when users plan to send initial treasury funds to their newly created DAOs, as these funds would end up being controlled by the attacker's DAO instead.
The issue is magnified because:
Users typically fund their DAOs immediately after creation
Proxy addresses can be calculated in advance
No validation of intended ownership
Missing deployment address protection
Reorg attacks are feasible on Polygon
Code:
Financial Losses:
Initial treasury funds compromised
Membership fees misdirected
Token control lost
Protocol Security:
Unreliable DAO deployment
Trust assumptions broken
User funds at risk
Manual Review
Add creation locking mechanism:
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.