{"id":"CVE-2020-35911","aliases":["DEBIAN-CVE-2020-35911","EUVD-2021-1892","GHSA-vh4p-6j7g-f4j9","RUSTSEC-2020-0070","UBUNTU-CVE-2020-35911"],"status":"published","title":"Data races in lock_api","description":"An issue was discovered in the lock_api crate before 0.4.2 for Rust. A data race can occur because of MappedRwLockReadGuard unsoundness.","severity":{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-12","score":0.00211,"percentile":0.11454,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-362"],"published":"2020-11-08T12:00:00Z","modified":"2026-10-26T12:02:48Z","fixes":[{"ecosystem":"crates.io","package":"lock_api","fixed_in":["0.4.2"],"sources":["ghsa"]},{"ecosystem":"Debian:12","package":"rust-lock-api","fixed_in":["0.4.5-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"rust-lock-api","fixed_in":["0.4.5-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"rust-lock-api","fixed_in":["0.4.5-1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"crates.io","package":"lock_api","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.4.2"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"rust-lock-api","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.4.5-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"rust-lock-api","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.4.5-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"rust-lock-api","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.4.5-1"}]}]},{"source":"osv","ecosystem":"crates.io","package":"lock_api","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.4.2"}]}],"bundled":5},{"source":"osv","ecosystem":"crates.io","package":"lock_api","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.4.2"}]}],"bundled":5},{"source":"osv","ecosystem":"crates.io","package":"lock_api","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.4.2"}]}],"bundled":5},{"source":"osv","ecosystem":"crates.io","package":"lock_api","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.4.2"}]}],"bundled":5},{"source":"osv","ecosystem":"crates.io","package":"lock_api","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.4.2"}]}],"bundled":5},{"source":"osv","ecosystem":"crates.io","package":"lock_api","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.4.2"}]}],"bundled":5},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"rust-lock-api","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.1.5-1","0.3.1-1","0.3.2-1","0.3.3-1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"rust-lock-api","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.3.4-1","0.4.5-1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"rust-lock-api","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.4.9-1","0.4.11-1"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"rust-lock-api","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.4.12-1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"rust-lock-api","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.4.14-1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"rust-lock-api","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.4.12-1","0.4.13-1","0.4.14-1"]}],"products":[{"vendor":"lock_api_project","product":"lock_api"}],"references":[{"url":"https://rustsec.org/advisories/RUSTSEC-2020-0070.html","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","fix","advisory","web","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-35911","tags":["advisory"]},{"url":"https://github.com/Amanieu/parking_lot/pull/262","tags":["web","report"]},{"url":"https://github.com/advisories/GHSA-vh4p-6j7g-f4j9"},{"url":"https://security-tracker.debian.org/tracker/CVE-2020-35911","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-35912","tags":["advisory"]},{"url":"https://github.com/Amanieu/parking_lot","tags":["package"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-35914","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-35913","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-35910","tags":["advisory"]},{"url":"https://github.com/Amanieu/parking_lot/commit/7de94f95f519d8281cb48457964065b463d26736","tags":["web"]},{"url":"https://crates.io/crates/lock_api","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2020-35911","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-35911","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2020-35911","description":"An issue was discovered in the lock_api crate before 0.4.2 for Rust. A data race can occur because of MappedRwLockReadGuard unsoundness.","status":"published","published":"2020-12-31T08:20:12Z","modified":"2024-08-04T17:16:13.165Z","updated_at":"2026-11-02T14:35:57.975444Z"}],"euvd":[{"id":"EUVD-2021-1892","description":"An issue was discovered in the lock_api crate before 0.4.2 for Rust. A data race can occur because of MappedRwLockReadGuard unsoundness.","status":"published","published":"2020-12-31T08:20:12Z","modified":"2024-08-04T17:16:13Z","updated_at":"2026-11-03T03:07:04.065361Z"}],"ghsa":[{"id":"GHSA-vh4p-6j7g-f4j9","title":"Data races in lock_api","description":"An issue was discovered in the lock_api crate before 0.4.2 for Rust. A data race can occur because of MappedRwLockReadGuard unsoundness.","status":"published","published":"2021-08-25T20:49:56Z","modified":"2023-06-13T18:24:43Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-362"],"updated_at":"2026-11-02T14:36:53.654352Z"}],"nvd":[{"id":"CVE-2020-35911","description":"An issue was discovered in the lock_api crate before 0.4.2 for Rust. A data race can occur because of MappedRwLockReadGuard unsoundness.","status":"published","published":"2020-12-31T09:15:15.457Z","modified":"2026-06-17T03:14:35.363Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium","assessor":"primary"},{"version":"2.0","score":1.9,"vector":"AV:L/AC:M/Au:N/C:N/I:N/A:P","level":"low","assessor":"primary"}],"cwes":["CWE-362"],"updated_at":"2026-11-02T14:06:28.340168Z"}],"osv":[{"id":"CVE-2020-35910","description":"An issue was discovered in the lock_api crate before 0.4.2 for Rust. A data race can occur because of MappedMutexGuard unsoundness.","status":"published","published":"2020-12-31T09:15:15.397Z","modified":"2026-10-24T10:30:31.302394232Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:44:16.612899Z"},{"id":"CVE-2020-35911","description":"An issue was discovered in the lock_api crate before 0.4.2 for Rust. A data race can occur because of MappedRwLockReadGuard unsoundness.","status":"published","published":"2020-12-31T09:15:15.457Z","modified":"2026-10-24T10:30:39.387601762Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:44:16.612899Z"},{"id":"CVE-2020-35912","description":"An issue was discovered in the lock_api crate before 0.4.2 for Rust. A data race can occur because of MappedRwLockWriteGuard unsoundness.","status":"published","published":"2020-12-31T09:15:15.52Z","modified":"2026-10-24T10:30:28.624775954Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:44:16.612899Z"},{"id":"CVE-2020-35913","description":"An issue was discovered in the lock_api crate before 0.4.2 for Rust. A data race can occur because of RwLockReadGuard unsoundness.","status":"published","published":"2020-12-31T09:15:15.583Z","modified":"2026-10-24T10:30:20.880787529Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:44:16.612899Z"},{"id":"CVE-2020-35914","description":"An issue was discovered in the lock_api crate before 0.4.2 for Rust. A data race can occur because of RwLockWriteGuard unsoundness.","status":"published","published":"2020-12-31T09:15:15.647Z","modified":"2026-10-24T10:30:52.542902986Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:44:16.612899Z"},{"id":"DEBIAN-CVE-2020-35911","description":"An issue was discovered in the lock_api crate before 0.4.2 for Rust. A data race can occur because of MappedRwLockReadGuard unsoundness.","status":"published","published":"2020-12-31T09:15:15.457Z","modified":"2026-10-26T12:02:48.388789867Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:45:34.019707Z"},{"id":"GHSA-5wg8-7c9q-794v","title":"Data races in lock_api","description":"An issue was discovered in the lock_api crate before 0.4.2 for Rust. A data race can occur because of MappedRwLockWriteGuard unsoundness.","status":"published","published":"2021-08-25T20:50:00Z","modified":"2024-03-15T00:05:20.10247Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-362"],"updated_at":"2026-11-02T15:46:38.911014Z"},{"id":"GHSA-gmv4-vmx3-x9f3","title":"Data races in lock_api","description":"An issue was discovered in the lock_api crate before 0.4.2 for Rust. A data race can occur because of RwLockWriteGuard unsoundness.","status":"published","published":"2021-08-25T20:49:37Z","modified":"2024-03-15T00:05:20.10247Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-362"],"updated_at":"2026-11-02T15:46:48.191583Z"},{"id":"GHSA-hj9h-wrgg-hgmx","title":"Data races in lock_api","description":"An issue was discovered in the lock_api crate before 0.4.2 for Rust. A data race can occur because of RwLockReadGuard unsoundness.","status":"published","published":"2021-08-25T20:50:02Z","modified":"2024-03-15T00:05:20.10247Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-362"],"updated_at":"2026-11-02T15:46:49.28217Z"},{"id":"GHSA-ppj3-7jw3-8vc4","title":"Data races in lock_api","description":"An issue was discovered in the lock_api crate before 0.4.2 for Rust. A data race can occur because of MappedMutexGuard unsoundness.","status":"published","published":"2021-08-25T20:49:35Z","modified":"2025-05-23T18:33:34Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-362"],"updated_at":"2026-11-02T15:46:53.244788Z"},{"id":"GHSA-vh4p-6j7g-f4j9","title":"Data races in lock_api","description":"An issue was discovered in the lock_api crate before 0.4.2 for Rust. A data race can occur because of MappedRwLockReadGuard unsoundness.","status":"published","published":"2021-08-25T20:49:56Z","modified":"2024-03-15T00:05:20.10247Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-362"],"updated_at":"2026-11-02T15:46:57.348035Z"},{"id":"UBUNTU-CVE-2020-35911","description":"An issue was discovered in the lock_api crate before 0.4.2 for Rust. A data race can occur because of MappedRwLockReadGuard unsoundness.","status":"published","published":"2020-12-31T09:15:00Z","modified":"2026-10-17T12:55:53.010639188Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:54:25.179924Z"},{"id":"RUSTSEC-2020-0070","title":"Some lock_api lock guard objects can cause data races","description":"Affected versions of lock_api had unsound implementations of the `Send` or\n`Sync` traits for some guard objects, namely:\n\n* MappedMutexGuard\n* MappedRwLockReadGuard\n* MappedRwLockWriteGuard\n* RwLockReadGuard\n* RwLockWriteGuard\n\nThese guards could allow data races through types that are not safe to `Send`\nacross thread boundaries in safe Rust code.\n\nThis issue was fixed by changing the trait bounds on the `Mapped` guard types\nand removing the `Sync` trait for the `RwLock` guards.","status":"published","published":"2020-11-08T12:00:00Z","modified":"2024-03-15T00:05:20.10247Z","updated_at":"2026-11-02T15:53:39.492624Z"}]}}
