{
  "schema_version": "1.4.0",
  "id": "GHSA-96w3-p368-4h8c",
  "modified": "2023-06-13T18:17:00Z",
  "published": "2021-08-25T20:46:51Z",
  "aliases": [
    "CVE-2020-35874"
  ],
  "summary": "Use after free in internment",
  "details": "ArcIntern::drop has a race condition where it can release memory which is about to get another user. The new user will get a reference to freed memory.\n\nThis was fixed by serializing access to an interned object while it is being deallocated.\n\nVersions prior to 0.3.12 used stronger locking which avoided the problem.",
  "severity": [
    {
      "type": "CVSS_V3",
      "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
    }
  ],
  "affected": [
    {
      "package": {
        "ecosystem": "crates.io",
        "name": "internment"
      },
      "ranges": [
        {
          "type": "ECOSYSTEM",
          "events": [
            {
              "introduced": "0.3.12"
            },
            {
              "fixed": "0.4.0"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2020-35874"
    },
    {
      "type": "WEB",
      "url": "https://github.com/droundy/internment/issues/11"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/droundy/internment"
    },
    {
      "type": "WEB",
      "url": "https://rustsec.org/advisories/RUSTSEC-2020-0017.html"
    }
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-362"
    ],
    "severity": "HIGH",
    "github_reviewed": true,
    "github_reviewed_at": "2021-08-19T21:19:06Z",
    "nvd_published_at": null
  }
}