There is a re-entrancy vulnerability in refund function, that can be used to drain the whole contract.
Re-entrancy issue in refund function, if someone writes an attacker contract and register it as a player, then that contract can be used to re-enter as refund function sends the value to player leading to giving transaction flow control before the after effects.
Funds can be drained from contract
Manual Tests
Wrote a attacker contract and used that to drain the contract
Use Checks-Effects-Interactions pattern in refund function
reentrancy in refund() 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.