The MembershipFactory
contract facilitates the creation and management of DAO memberships using ERC1155 tokens. It supports various DAO configurations, including SPONSORED
, PUBLIC
, and PRIVATE
DAOs. However, the contract lacks controls to prevent zero-priced tiers, leading to potential issues. This vulnerability has a higher impact on SPONSORED
DAOs, where users could exploit zero-priced tiers to repeatedly upgrade for free.
Since SPONSORED
DAOs permit tier upgrades, a zero-priced tier allows users to escalate tiers indefinitely at no cost, bypassing the intended tier structure. This could lead to economic imbalance and membership exploitation.
Infinite Upgrades in Sponsored DAOs: Users can potentially upgrade tiers repeatedly without cost.
hardhat
Implement Tier Price Validation:
Enforce a minimum price (e.g., require(tierConfigs[i].price > 0, "Tier price must be greater than zero");
) during DAO creation and tier configuration updates.
Restrict Zero-Priced Tiers for Sponsored DAOs:
Specifically for SPONSORED
DAOs, enforce that all tiers have non-zero prices to prevent exploitative upgrades.
Allow Free Tiers in Public/Private DAOs with Limitations:
For PUBLIC
and PRIVATE
DAOs, allow one free tier if needed, but consider additional checks to prevent potential frontrunning (e.g., limits on joining frequency).
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.