The changeParticipationStatus() function allows any address to set themselves as a participant without requiring any deposit or contribution. This could lead to inaccurate participant tracking and potential disruption of the event planning.
The vulnerability in this function allows anyone to be a participant without any financial commitment to the Dinner. It allows anyone to change their participant status to true without contributing money.
Anyone can become a participant without financial commitment
Could lead to inflated participant numbers
May disrupt event planning and resource allocation
Host might make decisions based on incorrect participation data
Manual Review
Implement a mechanism to check if the caller of this function has any balance in the protocol before changing their participation status.
The fix adds a balance check before allowing an address to become a participant. This ensures that only addresses that have contributed (either through ETH or whitelisted tokens) can participate in the event. The participation status can still be changed to false without restrictions, allowing people to withdraw from the event if needed.
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.