The contract relies on a centralized admin for critical functions such as setting timeouts and withdrawing fees, which could be exploited if the admin is compromised
Root Cause: The admin controls functions like setJoinTimeout, withdrawFees, and setAdmin, which allow manipulation of game parameters and withdrawal of accumulated fees.
Exploitation: A compromised admin could drain accumulated fees or alter game settings (e.g., extend join timeouts indefinitely), disrupting gameplay or stealing funds.
Details: The admin address is set during deployment and can only be changed by the current admin. However, this centralized control creates a single point of failure.
Likelihood: Medium - Requires admin compromise, which is feasible if the admin's private key is stolen or if there are weak security practices.
Impact: High - Could result in significant financial loss (e.g., draining accumulated fees) or disruption of the game ecosystem.
Decentralize Admin Control: Use a multi-signature wallet for admin actions to require multiple approvals for critical functions.
Governance Mechanism: Consider implementing a decentralized governance system (e.g., a DAO) to manage admin functions.
Time-Locked Admin Changes: Add a time lock for changing the admin address to allow for emergency responses if an admin is compromised.
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.