CVE-2023-40591
published 2023-09-06CVE-2023-40591: go-ethereum (geth) is a golang execution layer implementation of the Ethereum protocol. A vulnerable node, can be made to consume unbounded amounts of memory…
PriorityP340high7.5CVSS 3.1
AVNACLPRNUINSUCNINAH
EPSS
0.98%
57.8th percentile
go-ethereum (geth) is a golang execution layer implementation of the Ethereum protocol. A vulnerable node, can be made to consume unbounded amounts of memory when handling specially crafted p2p messages sent from an attacker node. The fix is included in geth version `1.12.1-stable`, i.e, `1.12.2-unstable` and onwards. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Affected
4 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| ethereum | go-ethereum | < 1.12.1-stable | 1.12.1-stable |
| ethereum | go_ethereum | >= 1.10.0 < 1.12.1 | 1.12.1 |
| github.com | ethereum_go-ethereum | >= 0 < 1.12.1 | 1.12.1 |
| github.com | ethereum_go-ethereum | >= 0 < 1.12.1-stable | 1.12.1-stable |
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
Unbounded memory consumption in github.com/ethereum/go-ethereum
osv·2023-10-25
CVE-2023-40591 Unbounded memory consumption in github.com/ethereum/go-ethereum
Unbounded memory consumption in github.com/ethereum/go-ethereum
Unbounded memory consumption in github.com/ethereum/go-ethereum
OSV
Go-Ethereum vulnerable to denial of service via malicious p2p message
osv·2023-09-06
CVE-2023-40591 [HIGH] Go-Ethereum vulnerable to denial of service via malicious p2p message
Go-Ethereum vulnerable to denial of service via malicious p2p message
### Impact
A vulnerable node, can be made to consume unbounded amounts of memory when handling specially crafted p2p messages sent from an attacker node.
### Details
The p2p handler spawned a new goroutine to respond to `ping` requests. By flooding a node with ping requests, an unbounded number of goroutines can be created, leading to resource exhaustion and potentially crash due to OOM.
### Patches
The fix is included in geth version `1.12.1-stable`, i.e, `1.12.2-unstable` and onwards.
Fixed by https://github.com/ethereum/go-ethereum/pull/27887
### Workarounds
No known workarounds.
### Credits
This bug was reported by Patrick McHardy and reported via [[email protected]](mailto:[email protected]).
### Ref
GHSA
Go-Ethereum vulnerable to denial of service via malicious p2p message
ghsa·2023-09-06
CVE-2023-40591 [HIGH] CWE-400 Go-Ethereum vulnerable to denial of service via malicious p2p message
Go-Ethereum vulnerable to denial of service via malicious p2p message
### Impact
A vulnerable node, can be made to consume unbounded amounts of memory when handling specially crafted p2p messages sent from an attacker node.
### Details
The p2p handler spawned a new goroutine to respond to `ping` requests. By flooding a node with ping requests, an unbounded number of goroutines can be created, leading to resource exhaustion and potentially crash due to OOM.
### Patches
The fix is included in geth version `1.12.1-stable`, i.e, `1.12.2-unstable` and onwards.
Fixed by https://github.com/ethereum/go-ethereum/pull/27887
### Workarounds
No known workarounds.
### Credits
This bug was reported by Patrick McHardy and reported via [[email protected]](mailto:[email protected]).
### Ref
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
https://geth.ethereum.org/docs/developers/geth-developer/disclosureshttps://github.com/ethereum/go-ethereum/releases/tag/v1.12.1https://github.com/ethereum/go-ethereum/security/advisories/GHSA-ppjg-v974-84cmhttps://geth.ethereum.org/docs/developers/geth-developer/disclosureshttps://github.com/ethereum/go-ethereum/releases/tag/v1.12.1https://github.com/ethereum/go-ethereum/security/advisories/GHSA-ppjg-v974-84cm
2023-09-06
Published