The refund()
function does not check the participant
mapping to verify if the caller is an active participant. Users with a false
participation status can still call refund()
to reclaim their contributions.
This test was added to the ChristmasDinnerTest.t.sol
A participant calls deposit()
and then changeParticipationStatus()
to set their status to false.
The same participant calls refund()
and successfully reclaims their funds.
Participants(Funders) who change their participant Status can still call Refund
Non-participants or those who have opted out of the event can exploit this to reclaim funds they are no longer entitled to, leading to potential misuse of funds.
Manual review
The refund function should be updated
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.