CVE-2022-23327: Denial of Service in Go-Ethereum

Summary

05/03/2022
No i
High
7.5

CVE-2022-23327: Denial of Service in Go-Ethereum. Affects github.com/ethereum/go-ethereum versions < 1.10.12. No fix is published. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored MarkAI Find prospects already talking about the problem you solve AI watches the communities your customers use to find qualified prospects, then alerts you when a conversation is worth joining. See MarkAI

Background

Go-Ethereum is an open-source implementation of the Ethereum protocol written in the Go programming language. It provides a platform for developers to build decentralized applications (dApps) on the Ethereum blockchain. Go-Ethereum is widely used and trusted by the Ethereum community for its robustness and performance. However, a design flaw in versions 1.10.12 and older allows an attacker node to exploit the system and cause a denial of service (DoS) by flooding a victim node's memory pool with a large number of future transactions.

Vulnerability Detail

The vulnerability in Go-Ethereum arises from a flaw in the way it handles incoming transactions. An attacker can send a single message containing 5120 future transactions with a high gas price. When the victim node receives this message, it processes each transaction and adds it to its memory pool. However, due to the large number of transactions and their high gas price, the victim node's memory pool becomes overwhelmed and purges all pending transactions. This results in a denial of service, as legitimate transactions are discarded and unable to be processed. The impact of this vulnerability can be severe, as it can disrupt the normal functioning of the victim node and potentially affect the entire Ethereum network.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Workaround

There is no known workaround for this vulnerability. It is essential to apply the recommended fix by updating to a non-vulnerable version of Go-Ethereum.

Conclusion

The vulnerability in Go-Ethereum allows an attacker to cause a denial of service by flooding a victim node's memory pool with a large number of future transactions. To mitigate this risk, it is crucial to update to a non-vulnerable version of Go-Ethereum. Upgrading to Go-Ethereum 1.10.13 or newer will ensure that your installation is protected against this vulnerability. For further support on vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for github.com/ethereum/go-ethereum →

Share this vulnerability

FAQ

The vulnerability allows an attacker to cause a denial of service (DoS) by flooding a victim node's memory pool with a large number of future transactions. This can disrupt the normal functioning of the victim node and potentially affect the entire Ethereum network.

To protect your Go-Ethereum installation, it is crucial to update to a version that is not affected by this vulnerability. Upgrade to Go-Ethereum 1.10.13 or newer.

No, there are no known workarounds for this vulnerability. It is necessary to update to a non-vulnerable version of Go-Ethereum.

Yes, this vulnerability affects Go-Ethereum versions 1.10.12 and older. It has been addressed in versions 1.10.13 and newer.

Yes, an attacker can exploit this vulnerability remotely by sending a specially crafted message to a victim node.

Related vulnerabilities

Recent vulnerabilities recorded for github.com/ethereum/go-ethereum.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback