The withdrawFees() function in the PuppyRaffle contract is vulnerable to a denial-of-service (DoS) attack. This is because the function requires the contract's balance to be equal to the total fees before withdrawing the fees to the feeAddress. An attacker can exploit this vulnerability by forcing the contract to accept ETH. This will cause the withdrawFees() function to revert, preventing the contract from functioning properly.
A successful DoS attack could prevent/impact the ability of feeAddress to receive their share of ether winnings.
Foundry
The withdrawFees() function should be modified to check that the contract's balance is greater than or equal to the total fees, but not equal to. This will allow the contract to continue functioning even if ETH is sent to it.
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.