There is no zero msg.Value
check in the GivingThanks::donate
function. This allows users to donate 0 eth and still get an NFT token. Moreover, they can get many NFTs in one 0 eth donation by combing with the reentrancy attack.
Users can get NFTs without donating any eth.
Adding zero value check in the donate
function.
Likelyhood: Low, anyone can mint an NFT with 0 amount. No reason to do it. Impact: Informational/Very Low, NFT are minted to a false donator. An NFT with 0 in the amount section would be useless. Since that's a bad design and not expected, I'll consider it Low but in a real contest, it could be informational because there is no real impact.
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.