La funzione random () dell’attuazione intelligente contratto per CryptoSaga, un gioco Ethereum, genera un valore casuale con le variabili leggibili pubblicamente come il timestamp, blockhash del blocco corrente, e una variabile privata (che può essere letto con una chiamata getStorageAt). Pertanto, gli aggressori possono precompute il numero casuale e manipolare il gioco (ad esempio, ottenere personaggi potenti o ottenere danni critici). |
https://medium.com/@jonghyk.song/create-legendary-champs-by-breaking-prng-of-cryptosaga-an-ethereum-rpg-game-cve-2018-12975-8de733ff8255 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12975 |
Vulnerabilità: CVE-2018-12975
