CVE-2020-36443 Use of Uninitialized Resource in libp2p-deflate

Critical 9.8 Published Updated

An uninitialized buffer passed to a user-provided trait function in the libp2p-deflate crate can lead to memory corruption and potential code execution.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2020-36443?

CVE-2020-36443 is a critical memory corruption vulnerability in n/a, published on 8 Aug 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

An issue was discovered in the libp2p-deflate crate before 0.27.1 for Rust. An uninitialized buffer is passed to AsyncRead::poll_read(), which is a user-provided trait function.

Weakness: CWE-908

Which versions are affected by CVE-2020-36443?

3 open source packages ship an affected version, including libp2p-deflate. It affects 1 product.

PackageAffectedFixed in
libp2p-deflate crates.ioAll versions0.27.1
libp2p-deflate crates.ioAll versions0.27.1
libp2p-deflate crates.ioFrom 0.0.0-00.27.1

Products include Libp2p Libp2p-Deflate.

How do I fix CVE-2020-36443?

Upgrade libp2p-deflate to 0.27.1 or later.

Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.

Is CVE-2020-36443 being exploited?

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

Sources

Also known as GHSA-gvcp-948f-8f2p, RUSTSEC-2020-0123.

Is CVE-2020-36443 in your software?

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

Check your SBOMs for free