The ChristmasDinner::changeParticipationStatus function allows users to change their participation status. However, it is vulnerable to a Denial of Service (DOS) attack. A malicious actor can repeatedly call this function, which may lead to high gas consumption, making it expensive or unfeasible for legitimate users to change their participation status. This could prevent users from modifying their status or interacting with the contract in a meaningful way.
Proof of Concept:
A malicious actor can repeatedly call the ChristmasDinner::changeParticipationStatus function, causing a high gas consumption that impacts legitimate users.
The attack could lead to a significant increase in gas fees for legitimate users attempting to change their participation status. If an attacker continually triggers this function, it may make it impossible for legitimate users to interact with the contract or cause significant delays, undermining the fair operation of the event.
aderyn, slither, foundry forge
Implement a rate limit for participation status changes or introduce a cooldown period between status changes to prevent spamming.
Consider adding a restriction on how frequently a user can change their participation status, ensuring that excessive calls are not possible.
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.