CVE-2022-35936

Source
https://nvd.nist.gov/vuln/detail/CVE-2022-35936
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-35936.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2022-35936
Aliases
Related
Published
2022-08-05T13:15:08Z
Modified
2025-02-19T03:28:40.132307Z
Severity
  • 5.3 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L CVSS Calculator
Summary
[none]
Details

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 DeleteAccountfunction, 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.

References

Affected packages

Git / github.com/evmos/ethermint

Affected ranges

Type
GIT
Repo
https://github.com/evmos/ethermint
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed
Type
GIT
Repo
https://github.com/evmos/evmos
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Type
GIT
Repo
https://github.com/kava-labs/kava
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed

Affected versions

0.*

0.4.0

v0.*

v0.0.0
v0.1.1
v0.11.0
v0.11.0-alpha.0
v0.11.0-alpha.1
v0.11.0-alpha.2
v0.11.0-rc1
v0.11.0-rc2
v0.11.1
v0.12.0
v0.13.0
v0.13.0-alpha.0
v0.13.0-alpha.1
v0.13.0-rc1
v0.13.0-rc2
v0.13.1
v0.14.0
v0.14.0-rc1
v0.14.0-rc2
v0.14.1
v0.15.0
v0.15.0-alpha.0
v0.15.0-beta.0
v0.15.0-beta.1
v0.15.0-rc1
v0.15.1
v0.15.2
v0.16.0
v0.16.0-beta.0
v0.16.0-rc1
v0.16.0-rc2
v0.16.0-rc3
v0.17.0
v0.17.0-alpha.3
v0.17.1
v0.17.2
v0.17.3
v0.17.4
v0.17.5
v0.17.7
v0.2.0
v0.3.0
v0.3.0-rc1
v0.3.0-rc2
v0.3.0-rc3
v0.3.0-rc4
v0.3.0-rc5
v0.3.0-rc6
v0.3.1
v0.3.2
v0.4.1
v0.5.0
v0.6.0
v0.7.0
v0.8.0
v0.8.0-rc1
v0.8.0-rc2
v0.8.1

v6.*

v6.0.0
v6.0.1
v6.0.2
v6.0.3