PuppyRaffle::withdrawFees foreverThe PuppyRaffle::withdrawFees validation that require contracts balance needs be equals to totalFees can be misshandling after a malicious user sends any amount of Ether to the contract.
Likelihood:
Impact:
This vector of attack can blocks PuppyRaffle::withdrawFees forever because the address(this).balance will never be equals to totalFees
In this context a malicious contract can send 1 wei and selfdestruct, forcing the transfer if target contracts checks if address balance is equals to totalFees.
Remove the dependency on the contract's direct balance. Rely solely on the internal accounting provided by the totalFees variable.
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.