CVE-2021-41173
published 2021-10-26CVE-2021-41173: Go Ethereum is the official Golang implementation of the Ethereum protocol. Prior to version 1.10.9, a vulnerable node is susceptible to crash when processing…
PriorityP425medium5.7CVSS 3.1
AVNACLPRLUIRSUCNINAH
EPSS
1.20%
64.4th percentile
Go Ethereum is the official Golang implementation of the Ethereum protocol. Prior to version 1.10.9, a vulnerable node is susceptible to crash when processing a maliciously crafted message from a peer. Version v1.10.9 contains patches to the vulnerability. There are no known workarounds aside from upgrading.
Affected
3 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| ethereum | go-ethereum | < 1.10.9 | 1.10.9 |
| ethereum | go_ethereum | < 1.10.9 | 1.10.9 |
| github.com | ethereum_go-ethereum | >= 0 < 1.10.9 | 1.10.9 |
CVSS provenance
nvdv3.15.7MEDIUMCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H
nvdv2.03.5LOWAV:N/AC:M/Au:S/C:N/I:N/A:P
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
OSV
Panic via maliciously crafted message in github.com/ethereum/go-ethereum
osv·2022-07-15
CVE-2021-41173 Panic via maliciously crafted message in github.com/ethereum/go-ethereum
Panic via maliciously crafted message in github.com/ethereum/go-ethereum
A maliciously crafted snap/1 protocol message can cause a panic.
GHSA
Geth Node Vulnerable to DoS via maliciously crafted p2p message
ghsa·2021-10-25
CVE-2021-41173 [MEDIUM] CWE-20 Geth Node Vulnerable to DoS via maliciously crafted p2p message
Geth Node Vulnerable to DoS via maliciously crafted p2p message
### Impact
A vulnerable node is susceptible to crash when processing a maliciously crafted message from a peer, via the `snap/1` protocol. The crash can be triggered by sending a malicious `snap/1` `GetTrieNodes` package.
### Details
On September 21, 2021, geth-team member Gary Rong (@rjl493456442) found a way to crash the snap request handler .
By using this vulnerability, a peer connected on the `snap/1` protocol could cause a vulnerable node to crash with a `panic`.
In the `trie.TryGetNode` implementation, if the requested path is reached, the associated node will be returned. However the nilness is
not checked there.
```golang
func (t *Trie) tryGetNode(origNode node, path []byte, pos int) (item []byte, newnode node,
OSV
Geth Node Vulnerable to DoS via maliciously crafted p2p message
osv·2021-10-25
CVE-2021-41173 [MEDIUM] Geth Node Vulnerable to DoS via maliciously crafted p2p message
Geth Node Vulnerable to DoS via maliciously crafted p2p message
### Impact
A vulnerable node is susceptible to crash when processing a maliciously crafted message from a peer, via the `snap/1` protocol. The crash can be triggered by sending a malicious `snap/1` `GetTrieNodes` package.
### Details
On September 21, 2021, geth-team member Gary Rong (@rjl493456442) found a way to crash the snap request handler .
By using this vulnerability, a peer connected on the `snap/1` protocol could cause a vulnerable node to crash with a `panic`.
In the `trie.TryGetNode` implementation, if the requested path is reached, the associated node will be returned. However the nilness is
not checked there.
```golang
func (t *Trie) tryGetNode(origNode node, path []byte, pos int) (item []byte, newnode node,
No detection rules found.
No public exploits indexed.
https://github.com/ethereum/go-ethereum/commit/e40b37718326b8b4873b3b00a0db2e6c6d9ea738https://github.com/ethereum/go-ethereum/pull/23801https://github.com/ethereum/go-ethereum/releases/tag/v1.10.9https://github.com/ethereum/go-ethereum/security/advisories/GHSA-59hh-656j-3p7vhttps://github.com/ethereum/go-ethereum/commit/e40b37718326b8b4873b3b00a0db2e6c6d9ea738https://github.com/ethereum/go-ethereum/pull/23801https://github.com/ethereum/go-ethereum/releases/tag/v1.10.9https://github.com/ethereum/go-ethereum/security/advisories/GHSA-59hh-656j-3p7v
2021-10-26
Published