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.
History

No history.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published: 2020-10-16T17:05:24

Updated: 2024-08-04T13:08:23.227Z

Reserved: 2020-06-25T00:00:00

Link: CVE-2020-15254

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Analyzed

Published: 2020-10-16T17:15:12.057

Modified: 2022-08-05T19:30:49.067

Link: CVE-2020-15254

cve-icon Redhat

Severity : Important

Publid Date: 2020-10-20T00:00:00Z

Links: CVE-2020-15254 - Bugzilla