The withdraw function can be called by multiple hosts, in the case where there are multiple changes of the host before the deadline of the event funding.
Thsi vulnerability makes it so the funds of the event could be split up amoung multiple people and then each host needs to transfer the funds that were withdrawn to the next person when a change of host takes place.
The contract might not have all of the funds in it invested by users if any of the old hosts has withdrawn funds before chaning ownership of the event. This would mean if the expenses for the event requier some of the funds that were already withdrawn the previos owner has to transfer them to the latest owner.
Manual review
If no upfront payment is requiered we can add a modifier that allows the funds to be withdrawn only after the deadline period has passed.
If that is not the case then we don't have much we can do as the current host might have withdrawn the funds and transfered them to another wallet already.
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.