In the GivingThanks contract anybody can update the registry due to the lack of access control.
Missing access control in GivingThanks::updateRegistry: The updateRegistry function lacks proper access control. This allows any attacker to call the function and replace the legitimate CharityRegistry contract address with a malicious one.
An attacker exploiting this vulnerability could:
Redirect donations to a charity controlled by the attacker.
Disrupt the intended flow of funds to legitimate charities.
Damage the reputation of the GivingThanks platform.
Manual review
Implement an onlyOwner modifier in the updateRegistry function. This ensures that only the contract owner can update the CharityRegistry address.
Diff:
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.