{ "schema_version": "1.4.0", "id": "GHSA-2grh-hm3w-w7hv", "modified": "2023-06-13T22:08:56Z", "published": "2021-08-25T20:55:51Z", "aliases": [ "CVE-2021-38191" ], "summary": "Race condition in tokio", "details": "When aborting a task with JoinHandle::abort, the future is dropped in the thread calling abort if the task is not currently being executed. This is incorrect for tasks spawned on a LocalSet. This can easily result in race conditions as many projects use Rc or RefCell in their Tokio tasks for better performance.", "severity": [ { "type": "CVSS_V3", "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H" } ], "affected": [ { "package": { "ecosystem": "crates.io", "name": "tokio" }, "ranges": [ { "type": "ECOSYSTEM", "events": [ { "introduced": "1.8.0" }, { "fixed": "1.8.1" } ] } ] }, { "package": { "ecosystem": "crates.io", "name": "tokio" }, "ranges": [ { "type": "ECOSYSTEM", "events": [ { "introduced": "1.7.0" }, { "fixed": "1.7.2" } ] } ] }, { "package": { "ecosystem": "crates.io", "name": "tokio" }, "ranges": [ { "type": "ECOSYSTEM", "events": [ { "introduced": "1.6.0" }, { "fixed": "1.6.3" } ] } ] }, { "package": { "ecosystem": "crates.io", "name": "tokio" }, "ranges": [ { "type": "ECOSYSTEM", "events": [ { "introduced": "0.3.0" }, { "fixed": "1.5.1" } ] } ] } ], "references": [ { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2021-38191" }, { "type": "WEB", "url": "https://github.com/tokio-rs/tokio/issues/3929" }, { "type": "PACKAGE", "url": "https://github.com/tokio-rs/tokio" }, { "type": "WEB", "url": "https://raw.githubusercontent.com/rustsec/advisory-db/main/crates/tokio/RUSTSEC-2021-0072.md" }, { "type": "WEB", "url": "https://rustsec.org/advisories/RUSTSEC-2021-0072.html" } ], "database_specific": { "cwe_ids": [ "CWE-362", "CWE-366" ], "severity": "MODERATE", "github_reviewed": true, "github_reviewed_at": "2021-08-18T21:30:23Z", "nvd_published_at": "2021-08-08T06:15:00Z" } }