Rock Paper Scissors

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

Lack of Input Validation in Game Creation

Description: The RockPaperScissors::createGameWithEth() and RockPaperScissors::createGameWithToken() functions don't validate the _timeoutInterval parameter against a maximum value.

Impact: Players could set excessively long timeout intervals, potentially locking funds in the contract for extended periods.

Proof of Concept:

function createGameWithEth(uint256 _totalTurns, uint256 _timeoutInterval) external payable {
// ... existing code ...
require(_timeoutInterval >= 5 minutes, "Timeout must be at least 5 minutes");
// No maximum timeout check
}

Recommended Mitigation: Add a maximum timeout value check, e.g., require(_timeoutInterval <= 24 hours, "Timeout too long");

Updates

Appeal created

m3dython Lead Judge about 2 months ago
Submission Judgement Published
Invalidated
Reason: Too generic

Support

FAQs

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