GHSA-48m6-wm5p-rr6h – self_cell
Package
Manager: cargo
Name: self_cell
Vulnerable Version: >=0 <0.10.3 || >=1.0.0 <1.0.2
Severity
Level: High
CVSS v3.1: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N/E:U/RL:O/RC:C
CVSS v4.0: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N
EPSS: N/A pctlN/A
Details
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`.
Metadata
Created: 2023-11-14T18:32:20Z
Modified: 2023-11-14T18:32:20Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/11/GHSA-48m6-wm5p-rr6h/GHSA-48m6-wm5p-rr6h.json
CWE IDs: []
Alternative ID: N/A
Finding: F113
Auto approve: 1