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.
Advisories
| Source | ID | Title |
|---|---|---|
EUVD |
EUVD-2018-8852 | 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. |
Fixes
Solution
No solution given by the vendor.
Workaround
No workaround given by the vendor.
References
History
No history.
Projects
Sign in to view the affected projects.
Status: PUBLISHED
Assigner: mitre
Published:
Updated: 2024-08-05T10:39:59.540Z
Reserved: 2018-09-15T00:00:00.000Z
Link: CVE-2018-17071
No data.
Status : Modified
Published: 2018-09-18T21:29:03.807
Modified: 2024-11-21T03:53:49.540
Link: CVE-2018-17071
No data.
OpenCVE Enrichment
No data.
Weaknesses
EUVD