CVE-2022-35936: Exposure of Resource to Wrong Sphere
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.
References
- github.com/advisories/GHSA-f92v-grc2-w2fg
- github.com/evmos/ethermint/blob/c9d42d667b753147977a725e98ed116c933c76cb/x/evm/keeper/statedb.go
- github.com/evmos/ethermint/commit/144741832007a26dbe950512acbda4ed95b2a451
- github.com/evmos/ethermint/security/advisories/GHSA-f92v-grc2-w2fg
- nvd.nist.gov/vuln/detail/CVE-2022-35936
Detect and mitigate CVE-2022-35936 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →