{"id":"RUSTSEC-2021-0072","summary":"Task dropped in wrong thread when aborting `LocalSet` task","details":"When aborting a task with `JoinHandle::abort`, the future is dropped in the\nthread calling abort if the task is not currently being executed. This is\nincorrect for tasks spawned on a `LocalSet`.\n\nThis can easily result in race conditions as many projects use `Rc` or `RefCell`\nin their Tokio tasks for better performance.\n\nSee [tokio#3929][issue] for more details.\n\n[issue]: https://github.com/tokio-rs/tokio/issues/3929","aliases":["CVE-2021-38191","GHSA-2grh-hm3w-w7hv"],"modified":"2023-11-08T04:06:25.982475Z","published":"2021-07-07T12:00:00Z","database_specific":{"license":"CC0-1.0"},"references":[{"type":"PACKAGE","url":"https://crates.io/crates/tokio"},{"type":"ADVISORY","url":"https://rustsec.org/advisories/RUSTSEC-2021-0072.html"},{"type":"REPORT","url":"https://github.com/tokio-rs/tokio/issues/3929"}],"affected":[{"package":{"name":"tokio","ecosystem":"crates.io","purl":"pkg:cargo/tokio"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.3.0"},{"fixed":"1.5.1"},{"introduced":"1.6.0"},{"fixed":"1.6.3"},{"introduced":"1.7.0"},{"fixed":"1.7.2"},{"introduced":"1.8.0"},{"fixed":"1.8.1"}]}],"ecosystem_specific":{"affected_functions":null,"affects":{"os":[],"arch":[],"functions":["tokio::task::JoinHandle::abort"]}},"database_specific":{"informational":null,"cvss":null,"source":"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2021-0072.json","categories":["memory-corruption"]}}],"schema_version":"1.7.3"}