External ETH transfers in internal functions (_finishGame,
_handleTie
, _cancelGame
) are vulnerable to reentrancy attacks.
Location: ETH transfers via .call{value:}()
Issue:
State changes occur after external calls
Attackers could re-enter via malicious fallback functions
Potential theft of locked ETH prizes
Could manipulate game outcomes during reentry
Manual review
Use pull-over-push pattern for withdrawals
Implement OpenZeppelin’s ReentrancyGuard
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.