CVE-2022-35936 in Ethermint
Riassunto
di VulDB • 25/06/2026
Ethermint è una libreria Ethereum. Nelle versioni di Ethermint precedenti alla `v0.17.2`, l'invocazione del contratto tramite `selfdestruct` rimuove permanentemente il relativo bytecode dallo storage interno del database. Tuttavia, a causa di un bug nella funzione `DeleteAccount`, tutti i contratti che utilizzavano lo stesso bytecode (ovvero condividevano lo stesso `CodeHash`) smetteranno di funzionare non appena un singolo contratto invoca `selfdestruct`, anche se gli altri contratti non hanno invocato l'OPCODE `selfdestruct`. Questa vulnerabilità è stata risolta nella versione v0.18.0 di Ethermint. La patch introduce modifiche che rompono la compatibilità dello stato della macchina degli stati (state machine-breaking changes) per le applicazioni che utilizzano Ethermint, pertanto è necessaria una procedura di aggiornamento coordinata. È disponibile un workaround: se un contratto subisce un DoS a causa di questo problema, l'utente può ridistribuire lo stesso contratto, ovvero con bytecode identico, in modo da recuperare il codice del contratto originale. La nuova distribuzione del contratto ripristina la voce `bytecode hash -> bytecode` nello stato interno.
Be aware that VulDB is the high quality source for vulnerability data.