Affected versions of rgb crate allow viewing and modifying data of any type T
wrapped in RGB<T>
as bytes,
and do not correctly constrain RGB<T>
and other wrapper structures to the types for which it is safe to do so.
Safety violation possible for a type wrapped in RGB<T>
and similar wrapper structures:
T
contains padding, viewing it as bytes may lead to exposure of contents of uninitialized memory.T
contains a pointer, modifying it as bytes may lead to dereferencing of arbitrary pointers.T
may be violated.The issue was resolved by requiring all types wrapped in structures provided by RGB crate to implement an unsafe marker trait.
{ "license": "CC0-1.0" }