An attacker can attack the contract by force sending an amount to the VotingBooth contract which is greater than the amount which the VotingBooth contract holds as the intended reward if the vote passes.
After deploying the VotingBooth contract with say 1E and the Attack::attack() as shown below is called with an amount greater than 1E, it would be impossible to call any function in the VotingBooth contract:
High. Once the VotingBooth contract is attacked it becomes impossible to make any call in the contract.
Manual
Avoid the use of address(this).balance in the VotingBooth contract.
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.