### [CVE-2018-12454](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12454) ![](https://img.shields.io/static/v1?label=Product&message=n%2Fa&color=blue) ![](https://img.shields.io/static/v1?label=Version&message=n%2Fa&color=blue) ![](https://img.shields.io/static/v1?label=Vulnerability&message=n%2Fa&color=brighgreen) ### Description The _addguess function of a simplelottery smart contract implementation for 1000 Guess, an Ethereum gambling game, generates a random value with publicly readable variables such as the current block information and a private variable (which can be read with a getStorageAt call). Therefore, it allows attackers to always win and get rewards. ### POC #### Reference - https://medium.com/@jonghyk.song/attack-on-pseudo-random-number-generator-prng-used-in-1000-guess-an-ethereum-lottery-game-7b76655f953d - https://medium.com/@jonghyk.song/attack-on-pseudo-random-number-generator-prng-used-in-1000-guess-an-ethereum-lottery-game-7b76655f953d #### Github - https://github.com/ARPSyndicate/cvemon - https://github.com/lnick2023/nicenice - https://github.com/qazbnm456/awesome-cve-poc - https://github.com/xbl3/awesome-cve-poc_qazbnm456