{"id":"CVE-2021-45720","aliases":["EUVD-2022-0695","GHSA-qqmc-hwqp-8g2w","GHSA-v362-2895-h9r2","RUSTSEC-2021-0130"],"status":"published","title":"Use after free in lru crate","description":"An issue was discovered in the lru crate before 0.7.1 for Rust. The iterators have a use-after-free, as demonstrated by an access after a pop operation.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.01219,"percentile":0.68863,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-416"],"published":"2021-12-21T12:00:00Z","modified":"2026-06-17T04:14:00Z","fixes":[{"ecosystem":"crates.io","package":"lru","fixed_in":["0.7.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"crates.io","package":"lru","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.7.1"}]}]},{"source":"ghsa","ecosystem":"crates.io","package":"lru","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.7.1"}]}]},{"source":"osv","ecosystem":"crates.io","package":"lru","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.7.1"}]}]},{"source":"osv","ecosystem":"crates.io","package":"lru","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.7.1"}]}]},{"source":"osv","ecosystem":"crates.io","package":"lru","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.7.1"}]}]}],"products":[{"vendor":"lru_project","product":"lru"}],"references":[{"url":"https://rustsec.org/advisories/RUSTSEC-2021-0130.html","tags":["x_refsource_MISC","x_transferred","Exploit","Issue Tracking","Third Party Advisory","web","advisory"]},{"url":"https://raw.githubusercontent.com/rustsec/advisory-db/main/crates/lru/RUSTSEC-2021-0130.md","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","web"]},{"url":"https://github.com/jeromefroe/lru-rs/issues/120","tags":["web","report"]},{"url":"https://github.com/advisories/GHSA-qqmc-hwqp-8g2w"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-45720","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-v362-2895-h9r2"},{"url":"https://github.com/jeromefroe/lru-rs","tags":["package"]},{"url":"https://github.com/jeromefroe/lru-rs.git","tags":["package"]},{"url":"https://crates.io/crates/lru","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2021-45720","description":"An issue was discovered in the lru crate before 0.7.1 for Rust. The iterators have a use-after-free, as demonstrated by an access after a pop operation.","status":"published","published":"2021-12-26T21:45:09Z","modified":"2024-08-04T04:47:02.036Z","updated_at":"2026-11-02T14:33:02.580561Z"}],"euvd":[{"id":"EUVD-2022-0695","description":"An issue was discovered in the lru crate before 0.7.1 for Rust. The iterators have a use-after-free, as demonstrated by an access after a pop operation.","status":"published","published":"2021-12-26T21:45:09Z","modified":"2024-08-04T04:47:02Z","updated_at":"2026-11-03T03:08:25.77408Z"}],"ghsa":[{"id":"GHSA-v362-2895-h9r2","title":"Use After Free in lru","description":"Lru crate has two functions for getting an iterator. Both iterators give references to key and value. Calling specific functions, like pop(), will remove and free the value, and but it's still possible to access the reference of value which is already dropped causing use after free.","status":"published","published":"2022-01-07T22:37:01Z","modified":"2023-06-13T18:38:44Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-416"],"updated_at":"2026-11-02T14:36:53.654352Z"},{"id":"GHSA-qqmc-hwqp-8g2w","title":"Use after free in lru crate","description":"Lru crate has use after free vulnerability.\n\nLru crate has two functions for getting an iterator. Both iterators give\nreferences to key and value. Calling specific functions, like pop(), will remove\nand free the value, and but it's still possible to access the reference of value\nwhich is already dropped causing use after free.\n","status":"published","published":"2022-06-17T00:11:13Z","modified":"2023-06-13T18:40:06Z","updated_at":"2026-11-02T14:36:53.654352Z"}],"nvd":[{"id":"CVE-2021-45720","description":"An issue was discovered in the lru crate before 0.7.1 for Rust. The iterators have a use-after-free, as demonstrated by an access after a pop operation.","status":"published","published":"2021-12-26T22:15:09.397Z","modified":"2026-06-17T04:14:00.92Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:N/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-416"],"updated_at":"2026-11-02T14:07:02.977492Z"}],"osv":[{"id":"GHSA-v362-2895-h9r2","title":"Use After Free in lru","description":"Lru crate has two functions for getting an iterator. Both iterators give references to key and value. Calling specific functions, like pop(), will remove and free the value, and but it's still possible to access the reference of value which is already dropped causing use after free.","status":"published","published":"2022-01-07T22:37:01Z","modified":"2023-11-08T04:07:23.861888Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-416"],"updated_at":"2026-11-02T15:46:56.639206Z"},{"id":"GHSA-qqmc-hwqp-8g2w","title":"Use after free in lru crate","description":"Lru crate has use after free vulnerability.\n\nLru crate has two functions for getting an iterator. Both iterators give\nreferences to key and value. Calling specific functions, like pop(), will remove\nand free the value, and but it's still possible to access the reference of value\nwhich is already dropped causing use after free.\n","status":"published","published":"2022-06-17T00:11:13Z","modified":"2023-11-08T04:07:23.861888Z","updated_at":"2026-11-02T15:46:54.760124Z"},{"id":"RUSTSEC-2021-0130","title":"Use after free in lru crate","description":"Lru crate has use after free vulnerability.\n\nLru crate has two functions for getting an iterator. Both iterators give\nreferences to key and value. Calling specific functions, like pop(), will remove\nand free the value, and but it's still possible to access the reference of value\nwhich is already dropped causing use after free.","status":"published","published":"2021-12-21T12:00:00Z","modified":"2023-11-08T04:07:23.861888Z","updated_at":"2026-11-02T15:53:39.492624Z"}]}}
