CVE-2021-45707 Out-of-bounds Write in nix
An out-of-bounds write in the nix crate allows attackers to cause memory corruption or denial of service when processing users with many groups.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2021-45707?
CVE-2021-45707 is a critical memory corruption vulnerability in n/a, published on 26 Dec 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 nix crate 0.16.0 and later before 0.20.2, 0.21.x before 0.21.2, and 0.22.x before 0.22.2 for Rust. unistd::getgrouplist has an out-of-bounds write if a user is in more than 16 /etc/groups groups.
Weakness: CWE-787
Which versions are affected by CVE-2021-45707?
13 open source packages ship an affected version, including nix. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
nix crates.io | From 0.16.0 | 0.20.2, 0.21.2, 0.22.2, 0.23.0 |
nix crates.io | From 0.16.0 | 0.20.2 |
nix crates.io | From 0.16.0 | 0.20.2 |
nix crates.io | From 0.16.0 | 0.20.2 |
nix crates.io | From 0.16.0 | 0.20.2 |
nix crates.io | From 0.21.0 | 0.21.2 |
7 more packages
nix crates.io | From 0.21.0 | 0.21.2 |
nix crates.io | From 0.21.0 | 0.21.2 |
nix crates.io | From 0.21.0 | 0.21.2 |
nix crates.io | From 0.22.0 | 0.22.2 |
nix crates.io | From 0.22.0 | 0.22.2 |
nix crates.io | From 0.22.0 | 0.22.2 |
nix crates.io | From 0.22.0 | 0.22.2 |
Products include Nix Project Nix.
How do I fix CVE-2021-45707?
Upgrade nix to a fixed version for your release line: 0.20.2, 0.21.2, 0.22.2 or 0.23.0.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2021-45707 being exploited?
There is no known exploitation of CVE-2021-45707 in the wild and no public exploit code.
Sources
Also known as DEBIAN-CVE-2021-45707, GHSA-76w9-p8mg-j927, GHSA-wgrg-5h56-jg27, RUSTSEC-2021-0119, UBUNTU-CVE-2021-45707.