The protocol assumes that donation will be possible if the charity is accepted by a trusted admin, but the check function checks from the wrong mapping variable.
CharityRegistry.sol::isVerified()function should return whether the charity is verified or not, but it checks the registeredCharitiesmapping and not the verifiedCharitiesone.
Breaks the protocol rule, donations to unverified charities.
Manual review.
Change isVerifiedfunction to
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.