{"id":"GHSA-9c9f-7x9p-4wqp","summary":"A malicious coder can get unsound access to TCell or TLCell memory","details":"This is impossible to do by accident, but by carefully constructing\nmarker types to be covariant, a malicious coder can cheat the\nsingleton check in `TCellOwner` and `TLCellOwner`, giving unsound\naccess to cell memory.  This could take the form of getting two\nmutable references to the same memory, or a mutable reference and an\nimmutable reference.\n\nThe fix is for the crate to internally force the marker type to be\ninvariant.  This blocks the conversion between covariant types which\nRust normally allows.\n","aliases":["RUSTSEC-2022-0007"],"modified":"2023-11-08T04:17:51.156433Z","published":"2022-06-17T00:16:11Z","database_specific":{"cwe_ids":[],"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2022-06-17T00:16:11Z","nvd_published_at":null},"references":[{"type":"WEB","url":"https://github.com/uazu/qcell/issues/20"},{"type":"PACKAGE","url":"https://github.com/uazu/qcell"},{"type":"WEB","url":"https://rustsec.org/advisories/RUSTSEC-2022-0007.html"}],"affected":[{"package":{"name":"qcell","ecosystem":"crates.io","purl":"pkg:cargo/qcell"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.4.3"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/06/GHSA-9c9f-7x9p-4wqp/GHSA-9c9f-7x9p-4wqp.json"}}],"schema_version":"1.9.0"}