The fallback function of a simple lottery smart contract implementation for Lucky9io, an Ethereum gambling game, generates a random value with the publicly readable variable entry_number. This variable is private, yet it is readable by eth.getStorageAt function. Also, attackers can purchase a ticket at a low price by directly calling the fallback function with small msg.value, because the developer set the currency unit incorrectly. Therefore, it allows attackers to always win and get rewards.
References
Link | Resource |
---|---|
https://github.com/TEAM-C4B/CVE-LIST/tree/master/CVE-2018-17071 | Exploit Third Party Advisory |
Configurations
Information
Published : 2018-09-18 14:29
Updated : 2018-12-10 06:53
NVD link : CVE-2018-17071
Mitre link : CVE-2018-17071
JSON object : View
CWE
CWE-338
Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)
Products Affected
lucky9
- lucky9io