GivingThanks

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

Function CharityRegistry:: isVerified uses a wrong mapping to get a status of the charity address.

Summary

A configuration error in the mapping within the isVerified function leads to inaccurate information being provided to users regarding the verification status of charity addresses.

Vulnerability Detais

The function isVerified incorrectly checks if an address has been registered but not verified, leading to potential misrepresentation of charity address verification statuses.

mapping(address => bool) public verifiedCharities;
mapping(address => bool) public registeredCharities;
function isVerified(address charity) public view returns (bool) {
- return registeredCharities[charity];
}

Impact

The function isVerified incorrectly returns a wrong verification status, resulting in all registered addresses being mistakenly considered verified and thereby bypassing the intended administrative verification stage.

Tools Used

Manual code review

Recommendations

Apply the right mapping:

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

Lead Judging Commences

n0kto Lead Judge 7 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.