Rock Paper Scissors

First Flight #38
Beginner FriendlySolidity
100 EXP
View results
Submission Details
Severity: high
Invalid

Centralized Admin Control Poses Risk of Fund Loss or Manipulation

Summary

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

Vulnerability Details

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.

Impact

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.

Tools Used

Recommendations

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.

Updates

Appeal created

m3dython Lead Judge about 2 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

Owner is Trusted

m3dython Lead Judge about 2 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

Owner is Trusted

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.