GHSA-686f-ch3r-xwmh

Suggest an improvement
Source
https://github.com/advisories/GHSA-686f-ch3r-xwmh
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/08/GHSA-686f-ch3r-xwmh/GHSA-686f-ch3r-xwmh.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-686f-ch3r-xwmh
Aliases
Published
2021-08-25T20:58:17Z
Modified
2023-11-08T04:03:44.721625Z
Severity
  • 8.1 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
Data races in unicycle
Details

Affected versions of this crate unconditionally implemented Send & Sync for types PinSlab<T> & Unordered&lt;T, S>. This allows sending non-Send types to other threads and concurrently accessing non-Sync types from multiple threads.

This can result in a data race & memory corruption when types that provide internal mutability without synchronization are contained within PinSlab<T> or Unordered&lt;T, S> and accessed concurrently from multiple threads.

The flaw was corrected in commits 92f40b4 & 6a6c367 by adding trait bound T: Send to Send impls for PinSlab<T> & Unordered&lt;T, S> and adding T: Sync to Sync impls for PinSlab<T> & Unordered&lt;T, S>.

Database specific
{
    "nvd_published_at": "2021-08-08T06:15:00Z",
    "github_reviewed_at": "2021-08-18T20:15:26Z",
    "severity": "HIGH",
    "github_reviewed": true,
    "cwe_ids": [
        "CWE-119",
        "CWE-362"
    ]
}
References

Affected packages

crates.io / unicycle

Package

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
0.7.1