{"id":"RUSTSEC-2024-0407","summary":"Fails to ensure slice elements match the slice's declared type","details":"Affected versions allow populating a DistributedSlice of T with elements of an\narbitrary other type that coerces to T. For example, elements of type `&&str`\ncould end up in a slice of type `[&str]`, since `&&str` coerces to `&str` via a\nderef coercion.\n\nThe flaw was corrected by implementing typechecking for distributed slice\nelements in such a way that coercion no longer occurs. The element's type must\nbe a subtype of the slice's declared element type.","aliases":["GHSA-f95p-4cv5-8w8x"],"modified":"2025-10-28T06:29:24.336519Z","published":"2024-03-05T12:00:00Z","database_specific":{"license":"CC0-1.0"},"references":[{"type":"PACKAGE","url":"https://crates.io/crates/linkme"},{"type":"ADVISORY","url":"https://rustsec.org/advisories/RUSTSEC-2024-0407.html"},{"type":"REPORT","url":"https://github.com/dtolnay/linkme/issues/82"}],"affected":[{"package":{"name":"linkme","ecosystem":"crates.io","purl":"pkg:cargo/linkme"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.3.24"}]}],"ecosystem_specific":{"affected_functions":null,"affects":{"os":[],"arch":[],"functions":[]}},"database_specific":{"source":"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2024-0407.json","categories":[],"cvss":null,"informational":"unsound"}}],"schema_version":"1.7.3"}