Vulnerabilites related to crypto - cronos
CVE-2022-35936 (GCVE-0-2022-35936)
Vulnerability from cvelistv5
Published
2022-08-05 12:55
Modified
2025-04-22 17:42
Severity ?
VLAI Severity ?
EPSS score ?
CWE
- CWE-668 - Exposure of Resource to Wrong Sphere
Summary
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.
References
{ "containers": { "adp": [ { "providerMetadata": { "dateUpdated": "2024-08-03T09:51:59.105Z", "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE" }, "references": [ { "tags": [ "x_refsource_CONFIRM", "x_transferred" ], "url": "https://github.com/evmos/ethermint/security/advisories/GHSA-f92v-grc2-w2fg" }, { "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://github.com/evmos/ethermint/commit/144741832007a26dbe950512acbda4ed95b2a451" }, { "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://github.com/evmos/ethermint/blob/c9d42d667b753147977a725e98ed116c933c76cb/x/evm/keeper/statedb.go#L199-L203" } ], "title": "CVE Program Container" }, { "metrics": [ { "other": { "content": { "id": "CVE-2022-35936", "options": [ { "Exploitation": "poc" }, { "Automatable": "yes" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "timestamp": "2025-04-22T15:39:54.888649Z", "version": "2.0.3" }, "type": "ssvc" } } ], "providerMetadata": { "dateUpdated": "2025-04-22T17:42:50.952Z", "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP" }, "title": "CISA ADP Vulnrichment" } ], "cna": { "affected": [ { "product": "ethermint", "vendor": "evmos", "versions": [ { "status": "affected", "version": "\u003c= 0.17.2" } ] } ], "descriptions": [ { "lang": "en", "value": "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\u0027s code is recovered. The new contract deployment restores the `bytecode hash -\u003e bytecode` entry in the internal state." } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "baseScore": 8.2, "baseSeverity": "HIGH", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H", "version": "3.1" } } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-668", "description": "CWE-668: Exposure of Resource to Wrong Sphere", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "dateUpdated": "2022-08-05T12:55:11.000Z", "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "shortName": "GitHub_M" }, "references": [ { "tags": [ "x_refsource_CONFIRM" ], "url": "https://github.com/evmos/ethermint/security/advisories/GHSA-f92v-grc2-w2fg" }, { "tags": [ "x_refsource_MISC" ], "url": "https://github.com/evmos/ethermint/commit/144741832007a26dbe950512acbda4ed95b2a451" }, { "tags": [ "x_refsource_MISC" ], "url": "https://github.com/evmos/ethermint/blob/c9d42d667b753147977a725e98ed116c933c76cb/x/evm/keeper/statedb.go#L199-L203" } ], "source": { "advisory": "GHSA-f92v-grc2-w2fg", "discovery": "UNKNOWN" }, "title": "Ethermint DoS through Unintended Contract Selfdestruct", "x_legacyV4Record": { "CVE_data_meta": { "ASSIGNER": "security-advisories@github.com", "ID": "CVE-2022-35936", "STATE": "PUBLIC", "TITLE": "Ethermint DoS through Unintended Contract Selfdestruct" }, "affects": { "vendor": { "vendor_data": [ { "product": { "product_data": [ { "product_name": "ethermint", "version": { "version_data": [ { "version_value": "\u003c= 0.17.2" } ] } } ] }, "vendor_name": "evmos" } ] } }, "data_format": "MITRE", "data_type": "CVE", "data_version": "4.0", "description": { "description_data": [ { "lang": "eng", "value": "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\u0027s code is recovered. The new contract deployment restores the `bytecode hash -\u003e bytecode` entry in the internal state." } ] }, "impact": { "cvss": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "baseScore": 8.2, "baseSeverity": "HIGH", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H", "version": "3.1" } }, "problemtype": { "problemtype_data": [ { "description": [ { "lang": "eng", "value": "CWE-668: Exposure of Resource to Wrong Sphere" } ] } ] }, "references": { "reference_data": [ { "name": "https://github.com/evmos/ethermint/security/advisories/GHSA-f92v-grc2-w2fg", "refsource": "CONFIRM", "url": "https://github.com/evmos/ethermint/security/advisories/GHSA-f92v-grc2-w2fg" }, { "name": "https://github.com/evmos/ethermint/commit/144741832007a26dbe950512acbda4ed95b2a451", "refsource": "MISC", "url": "https://github.com/evmos/ethermint/commit/144741832007a26dbe950512acbda4ed95b2a451" }, { "name": "https://github.com/evmos/ethermint/blob/c9d42d667b753147977a725e98ed116c933c76cb/x/evm/keeper/statedb.go#L199-L203", "refsource": "MISC", "url": "https://github.com/evmos/ethermint/blob/c9d42d667b753147977a725e98ed116c933c76cb/x/evm/keeper/statedb.go#L199-L203" } ] }, "source": { "advisory": "GHSA-f92v-grc2-w2fg", "discovery": "UNKNOWN" } } } }, "cveMetadata": { "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "assignerShortName": "GitHub_M", "cveId": "CVE-2022-35936", "datePublished": "2022-08-05T12:55:11.000Z", "dateReserved": "2022-07-15T00:00:00.000Z", "dateUpdated": "2025-04-22T17:42:50.952Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1" }
CVE-2021-43839 (GCVE-0-2021-43839)
Vulnerability from cvelistv5
Published
2021-12-21 16:50
Modified
2024-08-04 04:10
Severity ?
VLAI Severity ?
EPSS score ?
CWE
- CWE-670 - Always-Incorrect Control Flow Implementation
Summary
Cronos is a commercial implementation of a blockchain. In Cronos nodes running versions before v0.6.5, it is possible to take transaction fees from Cosmos SDK's FeeCollector for the current block by sending a custom crafted MsgEthereumTx. This problem has been patched in Cronos v0.6.5. There are no tested workarounds. All validator node operators are recommended to upgrade to Cronos v0.6.5 at their earliest possible convenience.
References
► | URL | Tags | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Impacted products
Vendor | Product | Version | ||
---|---|---|---|---|
crypto-org-chain | cronos |
Version: < 0.6.5 |
{ "containers": { "adp": [ { "providerMetadata": { "dateUpdated": "2024-08-04T04:10:17.113Z", "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE" }, "references": [ { "tags": [ "x_refsource_CONFIRM", "x_transferred" ], "url": "https://github.com/crypto-org-chain/cronos/security/advisories/GHSA-f854-hpxv-cw9r" }, { "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://github.com/crypto-org-chain/cronos/pull/270" }, { "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://github.com/crypto-org-chain/cronos/commit/150ef237b37ac28c8136e1c0f494932860b9ebe8" } ], "title": "CVE Program Container" } ], "cna": { "affected": [ { "product": "cronos", "vendor": "crypto-org-chain", "versions": [ { "status": "affected", "version": "\u003c 0.6.5" } ] } ], "descriptions": [ { "lang": "en", "value": "Cronos is a commercial implementation of a blockchain. In Cronos nodes running versions before v0.6.5, it is possible to take transaction fees from Cosmos SDK\u0027s FeeCollector for the current block by sending a custom crafted MsgEthereumTx. This problem has been patched in Cronos v0.6.5. There are no tested workarounds. All validator node operators are recommended to upgrade to Cronos v0.6.5 at their earliest possible convenience." } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 7.5, "baseSeverity": "HIGH", "confidentialityImpact": "NONE", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N", "version": "3.1" } } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-670", "description": "CWE-670: Always-Incorrect Control Flow Implementation", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "dateUpdated": "2021-12-21T16:50:12", "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "shortName": "GitHub_M" }, "references": [ { "tags": [ "x_refsource_CONFIRM" ], "url": "https://github.com/crypto-org-chain/cronos/security/advisories/GHSA-f854-hpxv-cw9r" }, { "tags": [ "x_refsource_MISC" ], "url": "https://github.com/crypto-org-chain/cronos/pull/270" }, { "tags": [ "x_refsource_MISC" ], "url": "https://github.com/crypto-org-chain/cronos/commit/150ef237b37ac28c8136e1c0f494932860b9ebe8" } ], "source": { "advisory": "GHSA-f854-hpxv-cw9r", "discovery": "UNKNOWN" }, "title": "Drainage of FeeCollector\u0027s Block Transaction Fees", "x_legacyV4Record": { "CVE_data_meta": { "ASSIGNER": "security-advisories@github.com", "ID": "CVE-2021-43839", "STATE": "PUBLIC", "TITLE": "Drainage of FeeCollector\u0027s Block Transaction Fees" }, "affects": { "vendor": { "vendor_data": [ { "product": { "product_data": [ { "product_name": "cronos", "version": { "version_data": [ { "version_value": "\u003c 0.6.5" } ] } } ] }, "vendor_name": "crypto-org-chain" } ] } }, "data_format": "MITRE", "data_type": "CVE", "data_version": "4.0", "description": { "description_data": [ { "lang": "eng", "value": "Cronos is a commercial implementation of a blockchain. In Cronos nodes running versions before v0.6.5, it is possible to take transaction fees from Cosmos SDK\u0027s FeeCollector for the current block by sending a custom crafted MsgEthereumTx. This problem has been patched in Cronos v0.6.5. There are no tested workarounds. All validator node operators are recommended to upgrade to Cronos v0.6.5 at their earliest possible convenience." } ] }, "impact": { "cvss": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 7.5, "baseSeverity": "HIGH", "confidentialityImpact": "NONE", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N", "version": "3.1" } }, "problemtype": { "problemtype_data": [ { "description": [ { "lang": "eng", "value": "CWE-670: Always-Incorrect Control Flow Implementation" } ] } ] }, "references": { "reference_data": [ { "name": "https://github.com/crypto-org-chain/cronos/security/advisories/GHSA-f854-hpxv-cw9r", "refsource": "CONFIRM", "url": "https://github.com/crypto-org-chain/cronos/security/advisories/GHSA-f854-hpxv-cw9r" }, { "name": "https://github.com/crypto-org-chain/cronos/pull/270", "refsource": "MISC", "url": "https://github.com/crypto-org-chain/cronos/pull/270" }, { "name": "https://github.com/crypto-org-chain/cronos/commit/150ef237b37ac28c8136e1c0f494932860b9ebe8", "refsource": "MISC", "url": "https://github.com/crypto-org-chain/cronos/commit/150ef237b37ac28c8136e1c0f494932860b9ebe8" } ] }, "source": { "advisory": "GHSA-f854-hpxv-cw9r", "discovery": "UNKNOWN" } } } }, "cveMetadata": { "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "assignerShortName": "GitHub_M", "cveId": "CVE-2021-43839", "datePublished": "2021-12-21T16:50:12", "dateReserved": "2021-11-16T00:00:00", "dateUpdated": "2024-08-04T04:10:17.113Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1" }
Vulnerability from fkie_nvd
Published
2021-12-21 17:15
Modified
2024-11-21 06:29
Severity ?
Summary
Cronos is a commercial implementation of a blockchain. In Cronos nodes running versions before v0.6.5, it is possible to take transaction fees from Cosmos SDK's FeeCollector for the current block by sending a custom crafted MsgEthereumTx. This problem has been patched in Cronos v0.6.5. There are no tested workarounds. All validator node operators are recommended to upgrade to Cronos v0.6.5 at their earliest possible convenience.
References
▶ | URL | Tags | |
---|---|---|---|
security-advisories@github.com | https://github.com/crypto-org-chain/cronos/commit/150ef237b37ac28c8136e1c0f494932860b9ebe8 | Patch, Third Party Advisory | |
security-advisories@github.com | https://github.com/crypto-org-chain/cronos/pull/270 | Patch, Third Party Advisory | |
security-advisories@github.com | https://github.com/crypto-org-chain/cronos/security/advisories/GHSA-f854-hpxv-cw9r | Third Party Advisory | |
af854a3a-2127-422b-91ae-364da2661108 | https://github.com/crypto-org-chain/cronos/commit/150ef237b37ac28c8136e1c0f494932860b9ebe8 | Patch, Third Party Advisory | |
af854a3a-2127-422b-91ae-364da2661108 | https://github.com/crypto-org-chain/cronos/pull/270 | Patch, Third Party Advisory | |
af854a3a-2127-422b-91ae-364da2661108 | https://github.com/crypto-org-chain/cronos/security/advisories/GHSA-f854-hpxv-cw9r | Third Party Advisory |
Impacted products
{ "configurations": [ { "nodes": [ { "cpeMatch": [ { "criteria": "cpe:2.3:a:crypto:cronos:*:*:*:*:*:*:*:*", "matchCriteriaId": "E9F28A36-C787-45D6-A501-6957F4D5B99D", "versionEndExcluding": "0.6.5", "vulnerable": true }, { "criteria": "cpe:2.3:a:crypto:ethermint:*:*:*:*:*:*:*:*", "matchCriteriaId": "9815D335-02A9-4434-8BEE-21439F2B4834", "versionEndExcluding": "0.7.3", "vulnerable": true }, { "criteria": "cpe:2.3:a:crypto:ethermint:*:*:*:*:*:*:*:*", "matchCriteriaId": "26CC9F8A-86F5-4A0C-A296-AFF2E4676CD9", "versionEndIncluding": "0.9.0", "versionStartIncluding": "0.8.0", "vulnerable": true }, { "criteria": "cpe:2.3:a:crypto:evmos:*:*:*:*:*:*:*:*", "matchCriteriaId": "69E649A1-3CB0-491E-8E0E-D0C4205A4701", "versionEndIncluding": "0.4.2", "vulnerable": true } ], "negate": false, "operator": "OR" } ] } ], "cveTags": [], "descriptions": [ { "lang": "en", "value": "Cronos is a commercial implementation of a blockchain. In Cronos nodes running versions before v0.6.5, it is possible to take transaction fees from Cosmos SDK\u0027s FeeCollector for the current block by sending a custom crafted MsgEthereumTx. This problem has been patched in Cronos v0.6.5. There are no tested workarounds. All validator node operators are recommended to upgrade to Cronos v0.6.5 at their earliest possible convenience." }, { "lang": "es", "value": "Cronos es una implementaci\u00f3n comercial de una cadena de bloques. En los nodos de Cronos que ejecutan versiones anteriores a la v0.6.5, es posible tomar las tasas de transacci\u00f3n del FeeCollector de Cosmos SDK para el bloque actual mediante el env\u00edo de un MsgEthereumTx dise\u00f1ado a medida. Este problema ha sido parcheado en Cronos versi\u00f3n v0.6.5. No se presentan soluciones probadas. Se recomienda a todos los operadores de nodos comprobadores que actualicen a Cronos versi\u00f3n v0.6.5 lo antes posible" } ], "id": "CVE-2021-43839", "lastModified": "2024-11-21T06:29:54.237", "metrics": { "cvssMetricV2": [ { "acInsufInfo": false, "baseSeverity": "MEDIUM", "cvssData": { "accessComplexity": "LOW", "accessVector": "NETWORK", "authentication": "NONE", "availabilityImpact": "NONE", "baseScore": 5.0, "confidentialityImpact": "NONE", "integrityImpact": "PARTIAL", "vectorString": "AV:N/AC:L/Au:N/C:N/I:P/A:N", "version": "2.0" }, "exploitabilityScore": 10.0, "impactScore": 2.9, "obtainAllPrivilege": false, "obtainOtherPrivilege": false, "obtainUserPrivilege": false, "source": "nvd@nist.gov", "type": "Primary", "userInteractionRequired": false } ], "cvssMetricV31": [ { "cvssData": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 7.5, "baseSeverity": "HIGH", "confidentialityImpact": "NONE", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N", "version": "3.1" }, "exploitabilityScore": 3.9, "impactScore": 3.6, "source": "security-advisories@github.com", "type": "Secondary" } ] }, "published": "2021-12-21T17:15:08.413", "references": [ { "source": "security-advisories@github.com", "tags": [ "Patch", "Third Party Advisory" ], "url": "https://github.com/crypto-org-chain/cronos/commit/150ef237b37ac28c8136e1c0f494932860b9ebe8" }, { "source": "security-advisories@github.com", "tags": [ "Patch", "Third Party Advisory" ], "url": "https://github.com/crypto-org-chain/cronos/pull/270" }, { "source": "security-advisories@github.com", "tags": [ "Third Party Advisory" ], "url": "https://github.com/crypto-org-chain/cronos/security/advisories/GHSA-f854-hpxv-cw9r" }, { "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": [ "Patch", "Third Party Advisory" ], "url": "https://github.com/crypto-org-chain/cronos/commit/150ef237b37ac28c8136e1c0f494932860b9ebe8" }, { "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": [ "Patch", "Third Party Advisory" ], "url": "https://github.com/crypto-org-chain/cronos/pull/270" }, { "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": [ "Third Party Advisory" ], "url": "https://github.com/crypto-org-chain/cronos/security/advisories/GHSA-f854-hpxv-cw9r" } ], "sourceIdentifier": "security-advisories@github.com", "vulnStatus": "Modified", "weaknesses": [ { "description": [ { "lang": "en", "value": "CWE-670" } ], "source": "security-advisories@github.com", "type": "Secondary" }, { "description": [ { "lang": "en", "value": "CWE-670" } ], "source": "nvd@nist.gov", "type": "Primary" } ] }
Vulnerability from fkie_nvd
Published
2022-08-05 13:15
Modified
2024-11-21 07:12
Severity ?
8.2 (High) - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
5.3 (Medium) - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
5.3 (Medium) - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Summary
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.
References
▶ | URL | Tags | |
---|---|---|---|
security-advisories@github.com | https://github.com/evmos/ethermint/blob/c9d42d667b753147977a725e98ed116c933c76cb/x/evm/keeper/statedb.go#L199-L203 | Exploit, Third Party Advisory | |
security-advisories@github.com | https://github.com/evmos/ethermint/commit/144741832007a26dbe950512acbda4ed95b2a451 | Patch, Third Party Advisory | |
security-advisories@github.com | https://github.com/evmos/ethermint/security/advisories/GHSA-f92v-grc2-w2fg | Third Party Advisory | |
af854a3a-2127-422b-91ae-364da2661108 | https://github.com/evmos/ethermint/blob/c9d42d667b753147977a725e98ed116c933c76cb/x/evm/keeper/statedb.go#L199-L203 | Exploit, Third Party Advisory | |
af854a3a-2127-422b-91ae-364da2661108 | https://github.com/evmos/ethermint/commit/144741832007a26dbe950512acbda4ed95b2a451 | Patch, Third Party Advisory | |
af854a3a-2127-422b-91ae-364da2661108 | https://github.com/evmos/ethermint/security/advisories/GHSA-f92v-grc2-w2fg | Third Party Advisory |
Impacted products
{ "configurations": [ { "nodes": [ { "cpeMatch": [ { "criteria": "cpe:2.3:a:evmos:ethermint:*:*:*:*:*:*:*:*", "matchCriteriaId": "5715442E-55C7-4BFA-A571-0B2EEE375D93", "versionEndExcluding": "0.18.0", "vulnerable": true } ], "negate": false, "operator": "OR" } ] }, { "nodes": [ { "cpeMatch": [ { "criteria": "cpe:2.3:a:kava:kava:*:*:*:*:*:*:*:*", "matchCriteriaId": "A675E2F4-CA8D-4126-906B-B279839377C2", "versionEndExcluding": "0.18.0", "vulnerable": true } ], "negate": false, "operator": "OR" } ] }, { "nodes": [ { "cpeMatch": [ { "criteria": "cpe:2.3:a:crypto:cronos:*:*:*:*:*:*:*:*", "matchCriteriaId": "7F1D7275-5477-4026-83F6-AFFA244561A8", "versionEndIncluding": "0.7.0", "vulnerable": true } ], "negate": false, "operator": "OR" } ] }, { "nodes": [ { "cpeMatch": [ { "criteria": "cpe:2.3:a:evmos:evmos:*:*:*:*:*:*:*:*", "matchCriteriaId": "6F059647-951E-4EE7-A5F8-644353B214D4", "versionEndExcluding": "7.0.0", "vulnerable": true } ], "negate": false, "operator": "OR" } ] } ], "cveTags": [], "descriptions": [ { "lang": "en", "value": "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\u0027s code is recovered. The new contract deployment restores the `bytecode hash -\u003e bytecode` entry in the internal state." }, { "lang": "es", "value": "Ethermint es una biblioteca de Ethereum. En las versiones de Ethermint anteriores a \"v0.17.2\", la invocaci\u00f3n del contrato \"selfdestruct\" elimina permanentemente el bytecode correspondiente del almacenamiento interno de la base de datos. Sin embargo, debido a un error en la funci\u00f3n \"DeleteAccount\", todos los contratos que usaban el mismo bytecode (es decir, compart\u00edan el mismo \"CodeHash\") tambi\u00e9n dejar\u00e1n de funcionar una vez que un contrato invoque \"selfdestruct\", aunque los dem\u00e1s contratos no hayan invocado el OPCODE \"selfdestruct\". Esta vulnerabilidad ha sido parcheada en Ethermint versi\u00f3n v0.18.0. El parche presenta cambios que rompen el estado de las aplicaciones que usan Ethermint, por lo que es requerido un procedimiento de actualizaci\u00f3n coordinado. Se presenta una mitigaci\u00f3n alternativa. Si un contrato es objeto de DoS debido a este problema, el usuario puede volver a desplegar el mismo contrato, es decir, con id\u00e9ntico bytecode, de modo que sea recuperado el c\u00f3digo del contrato original. El nuevo despliegue del contrato restaura la entrada \"bytecode hash -) bytecode\" en el estado interno" } ], "id": "CVE-2022-35936", "lastModified": "2024-11-21T07:12:00.103", "metrics": { "cvssMetricV31": [ { "cvssData": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "baseScore": 8.2, "baseSeverity": "HIGH", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H", "version": "3.1" }, "exploitabilityScore": 3.9, "impactScore": 4.2, "source": "security-advisories@github.com", "type": "Secondary" }, { "cvssData": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "LOW", "baseScore": 5.3, "baseSeverity": "MEDIUM", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L", "version": "3.1" }, "exploitabilityScore": 3.9, "impactScore": 1.4, "source": "nvd@nist.gov", "type": "Primary" } ] }, "published": "2022-08-05T13:15:08.137", "references": [ { "source": "security-advisories@github.com", "tags": [ "Exploit", "Third Party Advisory" ], "url": "https://github.com/evmos/ethermint/blob/c9d42d667b753147977a725e98ed116c933c76cb/x/evm/keeper/statedb.go#L199-L203" }, { "source": "security-advisories@github.com", "tags": [ "Patch", "Third Party Advisory" ], "url": "https://github.com/evmos/ethermint/commit/144741832007a26dbe950512acbda4ed95b2a451" }, { "source": "security-advisories@github.com", "tags": [ "Third Party Advisory" ], "url": "https://github.com/evmos/ethermint/security/advisories/GHSA-f92v-grc2-w2fg" }, { "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": [ "Exploit", "Third Party Advisory" ], "url": "https://github.com/evmos/ethermint/blob/c9d42d667b753147977a725e98ed116c933c76cb/x/evm/keeper/statedb.go#L199-L203" }, { "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": [ "Patch", "Third Party Advisory" ], "url": "https://github.com/evmos/ethermint/commit/144741832007a26dbe950512acbda4ed95b2a451" }, { "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": [ "Third Party Advisory" ], "url": "https://github.com/evmos/ethermint/security/advisories/GHSA-f92v-grc2-w2fg" } ], "sourceIdentifier": "security-advisories@github.com", "vulnStatus": "Modified", "weaknesses": [ { "description": [ { "lang": "en", "value": "CWE-668" } ], "source": "security-advisories@github.com", "type": "Primary" } ] }