The random() function of the smart contract implementation for CryptoSaga, an Ethereum game, generates a random value with publicly readable variables such as timestamp, the current block's blockhash, and a private variable (which can be read with a getStorageAt call). Therefore, attackers can precompute the random number and manipulate the game (e.g., get powerful characters or get critical damages).
References
Link | Resource |
---|---|
https://medium.com/@jonghyk.song/create-legendary-champs-by-breaking-prng-of-cryptosaga-an-ethereum-rpg-game-cve-2018-12975-8de733ff8255 | Exploit Third Party Advisory |
Configurations
Information
Published : 2018-09-24 15:29
Updated : 2018-12-20 06:10
NVD link : CVE-2018-12975
Mitre link : CVE-2018-12975
JSON object : View
CWE
CWE-338
Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)
Products Affected
cryptosaga
- cryptosaga