GivingThanks

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

Incorrect Verification Logic in `CharityRegistry

Root Cause and Impact

  • Root Cause: The isVerified function returns the status of registeredCharities instead of verifiedCharities.

  • Impact: Unverified charities that are merely registered can receive donations, bypassing the intended verification process and allowing potential fraud.

Vulnerability Details

  • Incorrect isVerified Function:

    function isVerified(address charity) public view returns (bool) {
    return registeredCharities[charity];
    }
    • Issue: Checks registeredCharities instead of verifiedCharities.

    • Consequence: Any registered charity is considered verified.

Recommendations

  • Correct the Function to Check verifiedCharities:

    function isVerified(address charity) public view returns (bool) {
    return verifiedCharities[charity];
    }
  • Ensure Proper Workflow for Charity Verification:

    • Only allow verified charities to receive donations.

    • Maintain clear separation between registration and verification statuses.

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.