The GivingThanks contract lacks an upper bound validation for donation amounts, allowing arbitrarily large donations that could cause numerical issues or overflows during value transfers.
The donate function accepts any non-zero amount without an upper limit:
Test demonstrating the vulnerability:
Potential numerical overflow in value transfers
Gas issues with extremely large donations
UI/Frontend display problems with large numbers
Possible manipulation of donation statistics
Manual code review
Foundry testing framework
Test demonstrating both normal and overflow cases
Contract state analysis
Add maximum donation limit validation:
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.