CVE-2020-36443 Use of Uninitialized Resource in libp2p-deflate
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.
| Package | Affected | Fixed in |
|---|---|---|
libp2p-deflate crates.io | All versions | 0.27.1 |
libp2p-deflate crates.io | All versions | 0.27.1 |
libp2p-deflate crates.io | From 0.0.0-0 | 0.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.