{"id":"GHSA-5x36-7567-3cw6","summary":"partial_sort contains Out-of-bounds Read in release mode","details":"Affected versions of this crate were using a debug assertion to validate the `last` parameter of `partial_sort()`. This would allow invalid inputs to cause an out-of-bounds read instead of immediately panicking, when compiled without debug assertions.\n\nAll writes are bounds-checked, so the out-of-bounds memory access is read-only. This also means that the first attempted out-of-bounds write will panic, limiting the possible reads.\n\nThe accessible region is further limited by an initial bounds-checked read at `(last / 2) - 1`, i.e., it is proportional to the size of the vector.\n\nThis bug has been fixed in v0.2.0.\n","aliases":["RUSTSEC-2023-0016"],"modified":"2023-11-08T04:15:57.343834Z","published":"2023-02-28T20:31:05Z","database_specific":{"github_reviewed_at":"2023-02-28T20:31:05Z","nvd_published_at":null,"cwe_ids":["CWE-125"],"severity":"MODERATE","github_reviewed":true},"references":[{"type":"WEB","url":"https://github.com/sundy-li/partial_sort/issues/7"},{"type":"PACKAGE","url":"https://github.com/sundy-li/partial_sort"},{"type":"WEB","url":"https://rustsec.org/advisories/RUSTSEC-2023-0016.html"}],"affected":[{"package":{"name":"partial_sort","ecosystem":"crates.io","purl":"pkg:cargo/partial_sort"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.2.0"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/02/GHSA-5x36-7567-3cw6/GHSA-5x36-7567-3cw6.json"}}],"schema_version":"1.9.0"}