CVE-2020-15254

HIGH

crossbeam-channel < 0.4.4 - Use-After-Free via Bounded Channel Destructor

Title source: llm
STIX 2.1

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.

References (4)

Core 4
Core References
Exploit, Third Party Advisory x_refsource_misc
https://github.com/crossbeam-rs/crossbeam/issues/539
Exploit, Patch, Third Party Advisory x_refsource_misc
https://github.com/crossbeam-rs/crossbeam/pull/533
Patch, Third Party Advisory x_refsource_misc
https://github.com/RustSec/advisory-db/pull/425

Scores

CVSS v3 8.1
EPSS 0.0274
EPSS Percentile 84.2%
Attack Vector NETWORK
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

Details

CWE
CWE-119 CWE-401
Status published
Products (2)
crates.io/crossbeam-channel 0.4.3 - 0.4.4crates.io
crossbeam_project/crossbeam < 0.4.4
Published Oct 16, 2020
Tracked Since Feb 18, 2026