CVE-2020-15254 Undefined Behavior in bounded Crossbeam channel
An attacker can trigger memory corruption in the Crossbeam bounded channel due to incorrect capacity assumptions, potentially causing 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-15254?
CVE-2020-15254 is a high-severity memory corruption vulnerability in crossbeam-rs crossbeam, published on 16 Oct 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Crossbeam is a set of tools for concurrent programming. In crossbeam-channel before version 0.4.4, the bounded channel incorrectly assumes that `Vec::from_iter` has allocated capacity that same as the number of iterator elements. `Vec::from_iter` does not actually guarantee that and may allocate extra memory. The destructor of the `bounded` channel reconstructs `Vec` from the raw pointer based on the incorrect assumes described above. This is unsound and causing deallocation with the incorrect capacity when `Vec::from_iter` has allocated different sizes with the number of iterator elements. This has been fixed in crossbeam-channel 0.4.4.
Which versions are affected by CVE-2020-15254?
It affects 1 product.
Products include Crossbeam Project Crossbeam.
How do I fix CVE-2020-15254?
Upgrade to a fixed version.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2020-15254 being exploited?
There is no known exploitation of CVE-2020-15254 in the wild and no public exploit code.
Other vulnerabilities in crossbeam-rs crossbeam
Sources
Also known as UBUNTU-CVE-2020-15254.