-
-
Notifications
You must be signed in to change notification settings - Fork 0
Description
WS-2020-0189 - Medium Severity Vulnerability
Vulnerable Library - futures-util-0.3.5.crate
Common utilities and extension traits for the futures-rs library.
Library home page: https://crates.io/api/v1/crates/futures-util/0.3.5/download
Path to dependency file: /Cargo.toml
Path to vulnerable library: /Cargo.toml
Dependency Hierarchy:
- test_util-0.1.0 (Root Library)
- futures-0.3.5.crate
- futures-executor-0.3.5.crate
- ❌ futures-util-0.3.5.crate (Vulnerable Library)
- futures-executor-0.3.5.crate
- futures-0.3.5.crate
Found in HEAD commit: 6bd9a93e55faf7abd43040d83fa5bb6fcbd55f5c
Found in base branch: master
Vulnerability Details
Affected versions of futures-rs had a Send/Sync implementation for MappedMutexGuard that only considered variance on T, while MappedMutexGuard dereferenced to U.
This could of led to data races in safe Rust code when a closure used in MutexGuard::map() returns U that is unrelated to T.
The issue was fixed by fixing Send and Sync implementations, and by adding a PhantomData<&'a mut U> marker to the MappedMutexGuard type to tell the compiler that the guard is over U too.
This is affecting future-rs 0.3.2 through 0.3.6 and fixed in futures-rs 0.3.7 onwards.
Publish Date: 2020-11-02
URL: WS-2020-0189
CVSS 3 Score Details (5.3)
Base Score Metrics:
- Exploitability Metrics:
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Impact Metrics:
- Confidentiality Impact: None
- Integrity Impact: None
- Availability Impact: Low
Step up your Open Source Security Game with Mend here