CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
NONE
Integrity Impact
LOW
Availability Impact
HIGH
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
EPSS
Percentile
41.9%
Ethermint is an Ethereum library. In Ethermint running versions before v0.17.2
, the contract selfdestruct
invocation permanently removes the corresponding bytecode from the internal database storage. However, due to a bug in the DeleteAccount
function, all contracts that used the identical bytecode (i.e shared the same CodeHash
) will also stop working once one contract invokes selfdestruct
, even though the other contracts does not invoke the selfdestruct
OPCODE. This vulnerability has been patched in Ethermint version v0.18.0. The patch has state machine-breaking changes for applications using Ethermint, so a coordinated upgrade procedure is required. A workaround is available. If a contract is subject to DoS due to this issue, the user can redeploy the same contract, i.e. with identical bytecode, so that the original contract’s code is recovered. The new contract deployment restores the bytecode hash -> bytecode
entry in the internal state.
github.com/advisories/GHSA-f92v-grc2-w2fg
github.com/evmos/ethermint/blob/c9d42d667b753147977a725e98ed116c933c76cb/x/evm/keeper/statedb.go#L199-L203
github.com/evmos/ethermint/commit/144741832007a26dbe950512acbda4ed95b2a451
github.com/evmos/ethermint/security/advisories/GHSA-f92v-grc2-w2fg
nvd.nist.gov/vuln/detail/CVE-2022-35936