An issue was discovered in the beef crate before 0.5.0 for Rust.
Affected versions of this crate did not have a T: Sync
bound in the Send
impl for Cow<'_, T, U>
. This allows users to create data races by making Cow
contain types that are (Send && !Sync) like Cell<_>
or RefCell<_>
.
Such data races can lead to memory corruption.
The flaw was corrected in commit d1c7658 by adding trait bounds T: Sync
and T::Owned: Send
to the Send
impl for Cow<'_, T, U>
.
{ "nvd_published_at": "2021-08-08T06:15:00Z", "github_reviewed_at": "2021-08-09T21:50:28Z", "severity": "HIGH", "github_reviewed": true, "cwe_ids": [ "CWE-119", "CWE-362" ] }