GHSA-48m6-wm5p-rr6h: Insufficient covariance check makes self_cell unsound
All public versions prior to 1.02
used an insufficient check to ensure that users correctly marked the dependent type as either covariant
or not_covariant
. This allowed users to mark a dependent as covariant even though its type was not covariant but invariant, for certain invariant types involving trait object lifetimes. One example for such a dependent type is type Dependent<'a> = RefCell<Box<dyn fmt::Display + 'a>>
. Such a type allowed unsound usage in purely safe user code that leads to undefined behavior. The patched versions now produce a compile time error if such a type is marked as covariant
.
References
Detect and mitigate GHSA-48m6-wm5p-rr6h with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →