{"id":"GHSA-f95p-4cv5-8w8x","summary":"linkme fails to ensure slice elements match the slice's declared type","details":"Affected versions allow populating a DistributedSlice of T with elements of an arbitrary other type that coerces to T. For example, elements of type `&&str` could end up in a slice of type `[&str]`, since `&&str` coerces to `&str` via a deref coercion.\n\nThe flaw was corrected by implementing typechecking for distributed slice elements in such a way that coercion no longer occurs. The element's type must be a subtype of the slice's declared element type.","aliases":["RUSTSEC-2024-0407"],"modified":"2025-10-28T06:29:24.336519Z","published":"2024-12-04T18:26:13Z","database_specific":{"nvd_published_at":null,"cwe_ids":[],"severity":"LOW","github_reviewed":true,"github_reviewed_at":"2024-12-04T18:26:13Z"},"references":[{"type":"WEB","url":"https://github.com/dtolnay/linkme/issues/82"},{"type":"PACKAGE","url":"https://github.com/dtolnay/linkme"},{"type":"WEB","url":"https://rustsec.org/advisories/RUSTSEC-2024-0407.html"}],"affected":[{"package":{"name":"linkme","ecosystem":"crates.io","purl":"pkg:cargo/linkme"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.3.24"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/12/GHSA-f95p-4cv5-8w8x/GHSA-f95p-4cv5-8w8x.json"}}],"schema_version":"1.9.0"}