The updateDAOMembership
function in MembershipFactory contract contains a design flaw where the maxMembers
value can only increase but never decrease. This one-way adjustment creates permanent resource allocation issues and prevents DAOs from properly adjusting their size downward.
The issue exists in the maxMembers update logic:
}
The condition if(maxMembers > dao.maxMembers)
means the value can only be increased, creating a permanent high-water mark that cannot be reduced even when the actual capacity requirements decrease.
Permanent Resource Lock:
Once maxMembers is set to a high value, it cannot be decreased
Creates misleading DAO capacity information
Affects resource allocation and planning
Business Logic Constraints:
Affects tokenomics calculations
Impacts governance planning and voting power distribution
Manual Review
Implement Safe Size Adjustment
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.