If someone sends ETH directly to the contract via the receive function, or if a user's profile is blocked/deleted, these funds become locked in the contract. The current withdrawFees function only allows withdrawal of fees collected from matches (totalFees), but not other ETH that might be in the contract.
Impact: Contract owner cannot access all funds in the contract.
User funds become permanently locked if their profile is blocked/deleted.
ETH sent directly to contract via receive() becomes permanently locked.
Proof of Concept:
Recommended Mitigation: Add mapping and event:
Likelihood: Low, burning with money in it would be a user mistake, and being blocked is Low. Impact: High, loss of funds
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.