A malicious user can change the registry to zero address thereby causing Donate function calls to always revert.
Donate function makes an external call to the registry contract to verify if the target charity is verified before transfer of funds can proceed. However, this call will always revert if the address of registry contract is the zero address. A malicious party can call updateRegistry function as it lacks access control and set the registry to zero.
Charites will no longer receive donations.
Manual Review
Consider making the updateRegistry callable only by the owner:
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.