{
  "schema_version": "1.4.0",
  "id": "GHSA-7mg7-m5c3-3hqj",
  "modified": "2021-08-24T17:47:15Z",
  "published": "2021-08-25T21:00:39Z",
  "withdrawn": "2021-08-24T17:47:15Z",
  "aliases": [],
  "summary": "Data races in unicycle",
  "details": "Affected versions of this crate unconditionally implemented `Send` & `Sync` for types `PinSlab<T>` & `Unordered<T, S>`. This allows sending non-Send types to other threads and concurrently accessing non-Sync types from multiple threads.\n\nThis can result in a data race & memory corruption when types that provide internal mutability without synchronization are contained within `PinSlab<T>` or `Unordered<T, S>` and accessed concurrently from multiple threads.\n\nThe flaw was corrected in commits 92f40b4 & 6a6c367 by adding trait bound `T: Send` to `Send` impls for `PinSlab<T>` & `Unordered<T, S>` and adding `T: Sync` to `Sync` impls for `PinSlab<T>` & `Unordered<T, S>`.\n",
  "severity": [],
  "affected": [
    {
      "package": {
        "ecosystem": "crates.io",
        "name": "unicycle"
      },
      "ranges": [
        {
          "type": "ECOSYSTEM",
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "0.7.1"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/udoprog/unicycle/issues/8"
    },
    {
      "type": "WEB",
      "url": "https://github.com/udoprog/unicycle/commit/6a6c367a0c25f86f998fa315ea90c328f685b194"
    },
    {
      "type": "WEB",
      "url": "https://github.com/udoprog/unicycle/commit/92f40b4a2c671553dfa96feacff0265206c44ce5"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/udoprog/unicycle"
    },
    {
      "type": "WEB",
      "url": "https://rustsec.org/advisories/RUSTSEC-2020-0116.html"
    }
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-362"
    ],
    "severity": "MODERATE",
    "github_reviewed": true,
    "github_reviewed_at": "2021-08-05T21:14:52Z",
    "nvd_published_at": null
  }
}