RUSTSEC-2020-0094

    Dashboard / Vulnerabilities / RUSTSEC-2020-0094

    RUSTSEC-2020-0094

    Published: 1 Dec 2020Last Modified: 8 Nov 2023

    Summary: Unsound: can make `ARefss` contain a !Send, !Sync object.

    Details: `ARefss<'a, V>` is a type that is assumed to contain objects that are `Send + Sync`. In the affected versions of this crate, `Send`/`Sync` traits are unconditionally implemented for `ARefss<'a, V>`. By using the `ARefss::map()` API, we can insert a `!Send` or `!Sync` object into `ARefss<'a, V>`. After that, it is possible to create a data race to the inner object of `ARefss<'a, V>`, which can lead to undefined behavior & memory corruption. The flaw was corrected in commit 6dd7ca0 (https://github.com/diwic/reffers-rs/commit/6dd7ca0d50f2464df708975cdafcfaeeb6d41c66) by adding trait bound `V: Send + Sync` to `ARefss::map()` API.

    Affected packages

    Package

    Name: reffers

    Purl: pkg:cargo/reffers

    Affected ranges

    Type: SEMVER

    Events:

    Introduced- 0.0.0-0
    Fixed -0.6.1

    Affected versions

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High
    RUSTSEC-2020-0094 | CVE-DB