CVE-2021-45707

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

published December 26, 2021

CVSS
—
EPSS
2%
Percentile
77.1
In the wild
Unconfirmed
What it is

⚠️ It turns out that exceeding 16 groups in your /etc/groups file can lead to a sneaky out-of-bounds write in the nix crate! Think of it like a restaurant that can only handle 16 reservations at a time. If a 17th customer tries to make a booking, their details might spill all over the floor, causing chaos in the kitchen! If exploited, this vulnerability could allow an attacker to overwrite memory, potentially leading to crashes or unexpected behavior in your application. While the severity is currently unknown, this could open the door for more significant issues down the line.

Put simply

Think of it like a restaurant that can only handle 16 reservations at a time. If a 17th customer tries to make a booking, their details might spill all over the floor, causing chaos in the kitchen! The issue in the nix crate arises from unistd::getgrouplist, which fails to properly handle users belonging to more than 16 groups, leading to an out-of-bounds write that could corrupt memory.

What to do

If exploited, this vulnerability could allow an attacker to overwrite memory, potentially leading to crashes or unexpected behavior in your application. While the severity is currently unknown, this could open the door for more significant issues down the line. Upgrade to version 0.20.2, 0.21.2, or 0.22.2 of the nix crate to patch this vulnerability. Regularly audit your use of dependencies to ensure you're not running outdated versions. Stay vigilant for any other updates! You've got this! Taking these steps will help keep your application secure and robust. 🛡️

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.01704 · 77.1th percentile
Published
2021-12-26T21:48Z
EPSS history
Timeline
  • 26 DEC 21:48Z
    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
    cvelistv5