The updateRegistry() function lacks access control allowing a malicious user to call the updaterRegistry() function, create a malicious registry, and receive donor funds.
https://github.com/Cyfrin/2024-11-giving-thanks/blob/main/src/GivingThanks.sol
function updateRegistry(address _registry) public {
registry = CharityRegistry(_registry);
}
no access control or modifier
no validation of new registry address
Malicious actors could redirect donor funds to fraudulent charity contracts.
Donors may unknowingly interact with malicious registries.
potential loss of future donations through this compromised system.
Manual review
Add access control to updateRegistry() function.
Likelyhood: High, anyone can change it at anytime Impact: High, can bypass the verification process
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.