GitHub Advisoryadvisory · crates.io

GHSA-f95p-4cv5-8w8x linkme fails to ensure slice elements match the slice's declared type

LOW Published 2024-12-04 Modified 2024-12-04 Official page ↗
Ecosystem
crates.io
Packages
linkme
Severity
Low
Reviewed
2024-12-04

Affected packages

• crates.io linkme: < 0.3.24 → fixed in 0.3.24

Description

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. The 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.

References