CVE-2020-15254
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.
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
Vendor advisory: debian — https://security-tracker.debian.org/tracker/CVE-2020-15254
Vendor advisory: arch — https://security.archlinux.org/ASA-202011-1
OS impact
| OS | Version | Status | Fixed in |
|---|---|---|---|
| arch | fixed | 82.0-1 | |
| debian | sid | fixed | 82.0-1 |
| debian | bookworm | fixed | 0 |
| debian | bullseye | fixed | 0 |
| debian | forky | fixed | 0 |
| debian | trixie | fixed | 0 |
Package impact
| Ecosystem | Package | Vulnerable | Fixed |
|---|---|---|---|
| crates.io | crossbeam-channel | | |
| crates.io | crossbeam-channel | >=0.4.3,<0.4.4 | 0.4.4 |
References
- https://github.com/crossbeam-rs/crossbeam/pull/533
- https://security.archlinux.org/ASA-202011-1
- https://security-tracker.debian.org/tracker/CVE-2020-15254
- https://nvd.nist.gov/vuln/detail/CVE-2020-35904
- https://github.com/crossbeam-rs/crossbeam
- https://rustsec.org/advisories/RUSTSEC-2020-0052.html
- https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-v5m7-53cv-f3hx
- https://nvd.nist.gov/vuln/detail/CVE-2020-15254
- https://github.com/crossbeam-rs/crossbeam/issues/539
- https://github.com/RustSec/advisory-db/pull/425
- https://crates.io/crates/crossbeam-channel
Verify integrity in audit chain (admin only). AS-IS.