RUSTSEC-2020-0112

    Dashboard / Vulnerabilities / RUSTSEC-2020-0112

    RUSTSEC-2020-0112

    Published: 18 Dec 2020Last Modified: 8 Nov 2023

    Summary: ButtplugFutureStateShared allows data race to (!Send|!Sync) objects

    Details: `ButtplugFutureStateShared<T>` implements `Send` & `Sync` regardless of `T`. If `T: !Send` for `ButtplugFutureStateShared<T>`, it is possible to move non-Send types across thread boundaries (e.g. `T`=`Rc<T>`) and lead to undefined behavior. If `T: !Sync` for `ButtplugFutureStateShared<T>`, it is possible to cause data race to `T` (e.g. `T`=`Arc<Cell<_>>`) and lead to undefined behavior. The flaw was corrected in version 1.0.4 by removing manual implementations of `Send`/`Sync` for `ButtplugFutureStateShared<T>` to let rustc generate auto trait implementations with correct trait bounds on `T`.

    Affected packages

    Package

    Name: buttplug

    Purl: pkg:cargo/buttplug

    Affected ranges

    Type: SEMVER

    Events:

    Introduced- 0.0.0-0
    Fixed -1.0.4

    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-0112 | CVE-DB