The CharityRegistry::isVerified
function incorrectly returns the registered state instead of the verified state, allowing unverified charities to be recognized as verified. This vulnerability is exploited in the GivingThanks::donate
function, which uses CharityRegistry::isVerified
to accept donations, resulting in unverified charities receiving funds.
Here's the incorrect data state:
This vulnerability allow unverified charities receive donation.
Manual Review
The following Foundry test demostrate how unverified charity receive donations.
To fix this, the CharityRegistry::isVerified
function should be updated to accurately check and return the verified state from the correct mapping.
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.