Add advisory for UB in crossbeam-channel 0.4.3

This commit is contained in:
Taiki Endo
2020-10-11 16:57:44 +09:00
parent 8c4b6b7d43
commit ba83b81ec4

View File

@@ -0,0 +1,15 @@
```toml
[advisory]
id = "RUSTSEC-0000-0000"
package = "crossbeam-channel"
date = "2020-06-26"
url = "https://github.com/crossbeam-rs/crossbeam/pull/533"
[versions]
patched = [">= 0.4.4"]
unaffected = ["< 0.4.3"]
```
# Undefined Behavior in bounded channel
The affected version of this crate's 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.