CVE-2022-35936CWE-668

Ethermint DoS through Unintended Contract Selfdestruct

High · published August 5, 2022

CVSS v3.1
8.2
EPSS
1%
Percentile
73.5
In the wild
Unconfirmed
What it is

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 did 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.

The record
Technical detail
CVSS v3.1
8.2 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
CVSS v4.0
Not supplied
EPSS
0.01468 · 73.5th percentile
Weakness
CWE-668 · Exposure of Resource to Wrong Sphere
Published
2022-08-05T12:55Z
EPSS history
Timeline
  • 05 AUG 12:55Z
    Ethermint DoS through Unintended Contract Selfdestruct
    cvelistv5