CVE-2020-15254

NameCVE-2020-15254
DescriptionCrossbeam 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.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
firefox (PTS)sid132.0.2-1fixed
rust-crossbeam-channel (PTS)buster0.3.8-1fixed
bullseye0.4.4-1fixed
bookworm0.5.6-1fixed
sid, trixie0.5.11-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
firefoxsource(unstable)82.0-1
rust-crossbeam-channelsource(unstable)(not affected)

Notes

- rust-crossbeam-channel <not-affected> (Only affected 0.4.3 which was not released in Debian)
https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-v5m7-53cv-f3hx
https://www.mozilla.org/en-US/security/advisories/mfsa2020-45/#CVE-2020-15254

Search for package or bug name: Reporting problems