The validation logic for recipient addresses is asymmetric between claim() and emergencyWithdraw(). While claim() properly validates against address(0), address(this), owner, and msg.sender, the emergencyWithdraw() validation uses a different subset (missing msg.sender check), creating inconsistent validation patterns across functions.
Likelihood:
Reason 1
Impact:
Inconsistent security model across different flows
Potential bypass of validation assumptions
Code maintainability issue
Standardize recipient validation across all functions, using a shared internal validation function.
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.
The contest is complete and the rewards are being distributed.