HistoryEdit

RUSTSEC-2020-0136

CopyCell lacks bounds on its Send trait allowing for data races

Reported
Issued
Package
toolshed (crates.io)
Type
Vulnerability
Categories
Keywords
#concurrency
Aliases
Details
https://github.com/ratel-rust/toolshed/issues/12
CVSS Score
8.1 HIGH
CVSS Details
Attack vector
Network
Attack complexity
High
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Patched
no patched versions

Description

CopyCell<T> is a Cell-like type that is implemented for any type T that is Copyable. It's Send trait has no bounds on the contained type.

As not all Copyable types are thread safe, for example non-mutable references implement the Copy trait, it is possible to send references to types with interior mutability such as Cell across threads and cause data races.