CVE-2020-35711 Dangling reference in `access::Map` with Constant
A use-after-free vulnerability in the arc-swap Rust library allows attackers to trigger dangling references, potentially leading to crashes or arbitrary 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-35711?
CVE-2020-35711 is a high-severity use after free vulnerability in n/a, published on 25 Dec 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
An issue has been discovered in the arc-swap crate before 0.4.8 (and 1.x before 1.1.0) for Rust. Use of arc_swap::access::Map with the Constant test helper (or with a user-supplied implementation of the Access trait) could sometimes lead to dangling references being returned by the map.
Which versions are affected by CVE-2020-35711?
5 open source packages ship an affected version, including arc-swap. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
arc-swap crates.io | From 0.4.2 | 0.4.8, 1.1.0 |
arc-swap crates.io | From 0.4.2 | 0.4.8 |
arc-swap crates.io | From 0.4.2 | 0.4.8 |
arc-swap crates.io | From 1.0.0 | 1.1.0 |
arc-swap crates.io | From 1.0.0 | 1.1.0 |
Products include Arc-Swap Project Arc-Swap.
How do I fix CVE-2020-35711?
Upgrade arc-swap to a fixed version for your release line: 0.4.8 or 1.1.0.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2020-35711 being exploited?
There is no known exploitation of CVE-2020-35711 in the wild and no public exploit code.
Sources
Also known as DEBIAN-CVE-2020-35711, GHSA-9pqx-g3jh-qpqq, RUSTSEC-2020-0091, UBUNTU-CVE-2020-35711.