GivingThanks

First Flight #28
Beginner FriendlyFoundry
100 EXP
View results
Submission Details
Severity: high
Valid

Incorrect logic of function CharityRegistry::isVerified considers each registered charity as verified

Summary

Function CharityRegistry::isVerified returns true for each registered charity.

Vulnerability Details

Function CharityRegistry::isVerified considers as verified all charities in array registeredCharities:

function isVerified(address charity) public view returns (bool) {
return registeredCharities[charity];
}

However, array registeredCharities contains all registered charities, both verified and not. The correct way is to check verifiedCharities array, that contains only verified charities.

Impact

All registered charities are considered as verified and can receive donations.

Tools Used

Manual review

Recommendations

Check array verifiedCharities instead of registeredCharities:

function isVerified(address charity) public view returns (bool) {
+ return verifiedCharities[charity];
- return registeredCharities[charity];
}
Updates

Lead Judging Commences

n0kto Lead Judge 12 months ago
Submission Judgement Published
Validated
Assigned finding tags:

finding-isVerified-return-registered-charities

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.

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.