CVE-2020-26264 LES Server DoS via GetProofsV2

Medium 6.5 Published Updated

A malicious request can crash the Light Ethereum Subprotocol server, requiring users to upgrade or disable the feature.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2020-26264?

CVE-2020-26264 is a medium-severity denial of service vulnerability in go-ethereum, published on 11 Dec 2020. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

Go Ethereum, or "Geth", is the official Golang implementation of the Ethereum protocol. In Geth before version 1.9.25 a denial-of-service vulnerability can make a LES server crash via malicious GetProofsV2 request from a connected LES client. This vulnerability only concerns users explicitly enabling les server; disabling les prevents the exploit. The vulnerability was patched in version 1.9.25.

Weakness: CWE-400

Which versions are affected by CVE-2020-26264?

3 open source packages ship an affected version, including github.com/ethereum/go-ethereum. It affects 1 product.

PackageAffectedFixed in
github.com/ethereum/go-ethereum GoAll versions1.9.25
github.com/ethereum/go-ethereum GoAll versions1.9.25
github.com/ethereum/go-ethereum GoAll versions1.9.25

Products include Ethereum Go Ethereum.

How do I fix CVE-2020-26264?

Upgrade github.com/ethereum/go-ethereum to 1.9.25 or later.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2020-26264 being exploited?

There is no known exploitation of CVE-2020-26264 in the wild and no public exploit code.

Sources

Also known as GHSA-r33q-22hv-j29q, GO-2021-0063.

Is CVE-2020-26264 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free