While this vulnerability requires victims to participate without properly checking timeout values or an attacker to use a second/alt account, it still represents a legitimate risk. The severity is medium because it could potentially be used in a targeted manner to lock funds for unreasonable periods or as part of a market manipulation strategy for the RPSW token. The primary risk is not to sophisticated users who carefully check game parameters, but to casual players who might miss this detail or malicious actor locking tokens as part of market manipulation strategy so that the price of token moves due the decreased demand
There's no upper bound check for the _timeoutInterval
in createGameWithEth
and createGameWithToken
:
While setting an extremely long timeout would lock the attacker's own funds, there are several malicious scenarios:
Strategic Token Supply Manipulation: An attacker could:
Create multiple token games with extremely long timeouts
Effectively remove tokens from circulation
Potentially influence token price on external DEXes if enough supply is locked
Griefing Uninformed Players: An attacker could:
Create attractive high-value games with extreme timeouts
Specifically target inexperienced players who may not understand timeout implications
Lock opponent funds for years once they join
Protocol Reputation Damage:
Mass creation of "permanent" games clutters the game list
Players with locked funds may blame the protocol design
Could lead to decreased trust in the platform
Manual code review
Add an upper bound for the timeout interval:
Code suggestions or observations that do not pose a direct security risk.
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.