https://github.com/Cyfrin/2024-11-one-world/blob/main/contracts/dao/MembershipFactory.sol#L140
Summary - The joinDAO function relies on the tier.price value for calculating the membership cost. However, the lack of additional validation on tier.price could allow an attacker to manipulate or bypass payment, potentially joining a DAO at a lower price or without a complete payment.
Vulnerability Details- The joinDAO function fetches tier.price directly from the TierConfig struct but does not validate that tier.price aligns with the intended DAO membership cost set by administrators. If tier.price is set to zero or manipulated, users could theoretically join a DAO without paying the correct fee.
Impact- If the attacker can influence tier.price to be zero or an unintended value (either through an insecure DAO configuration or by calling an unprotected setter function), they could bypass or minimize the payment.
Tools Used -manual review
Recommendations-
we must validate tier.price in joinDAO to ensure it matches a minimum acceptable amount.
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.