The CharityRegistry::isVerified
returns true if the charity is registered instead of if it's verified which is the intended functionality.
This vulnerability makes it possible to donate to unverified charities because it passes the require statement in the GivingThanks::donate
function.
Removing the vm.expectRevert
from the GivingThanksTest::testCannotDonateToUnverifiedCharity
test function and the test will pass even though the charity is not verified by admin.
Manual code review
Check if the charity is verified instead of registered in the `CharityRegistry::isVerified` function.
Likelyhood: High, the function returns registered charities instead of verified ones. Impact: High, Any charities can be registered by anyone and will be declared as verified by this function bypassing verification.
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.