Vulnerability Description
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.
CVSS Score
HIGH
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| Lucky9 | Lucky9Io | - |
Related Weaknesses (CWE)
References
- https://github.com/TEAM-C4B/CVE-LIST/tree/master/CVE-2018-17071ExploitThird Party Advisory
- https://github.com/TEAM-C4B/CVE-LIST/tree/master/CVE-2018-17071ExploitThird Party Advisory
FAQ
What is CVE-2018-17071?
CVE-2018-17071 is a vulnerability with a CVSS score of 7.5 (HIGH). 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 variabl...
How severe is CVE-2018-17071?
CVE-2018-17071 has been rated HIGH with a CVSS base score of 7.5/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2018-17071?
Check the references section above for vendor advisories and patch information. Affected products include: Lucky9 Lucky9Io.