The protocol's membership purchase mechanism is vulnerable to price manipulation because joinDAO has no maximum price parameter while tier prices can be modified by the EXTERNAL_CALLER. This creates a risk where approved token amounts could be drained beyond user intentions.
The issue exists in two functions: https://github.com/Cyfrin/2024-11-one-world/blob/1e872c7ab393c380010a507398d4b4caca1ae32b/contracts/dao/MembershipFactory.sol#L100 https://github.com/Cyfrin/2024-11-one-world/blob/1e872c7ab393c380010a507398d4b4caca1ae32b/contracts/dao/MembershipFactory.sol#L140
Could lose more tokens than intended
No price protection
Must trust admin not to change prices
Centralization risk
Price manipulation possible
No user safeguards
Manual Review
Add max price parameter:
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.