W bibliotece rand_core dla języka Rust (wersje przed 0.4.2) wykryto błąd nieprawidłowego rzutowania wycinków bajtów (byte slices) na wycinki liczb całkowitych (integer slices) z naruszeniem wymagań wyrównania pamięci (alignment constraints). Podatność otrzymała ocenę CVSS 9.8 (CRITICAL), co wskazuje na potencjalnie poważne konsekwencje dla integralności, poufności i dostępności danych.
▸ Pokaż oryginał (EN)
An issue was discovered in the rand_core crate before 0.4.2 for Rust. Casting of byte slices to integer slices mishandles alignment constraints.
Podatność wynika z nieprawidłowej obsługi wymagań wyrównania pamięci podczas rzutowania typów (type casting) — CWE-704. W Rust operacje na pamięci wymagają, aby dane określonego typu były umieszczone pod adresem spełniającym wymogi wyrównania dla danego typu. Nieprawidłowe rzutowanie byte slice na integer slice bez weryfikacji wyrównania może prowadzić do niezdefiniowanego zachowania programu. Błąd ten może być wywołany zdalnie bez uwierzytelnienia i bez interakcji użytkownika, co odzwierciedla wektor CVSS (AV:N/AC:L/PR:N/UI:N).
Atakujący może potencjalnie doprowadzić do naruszenia poufności, integralności oraz dostępności aplikacji korzystających z biblioteki rand_core przed wersją 0.4.2. Niezdefiniowane zachowanie wynikające z błędnego wyrównania pamięci może skutkować w szczególności nieprzewidywalnym działaniem aplikacji lub możliwością jej przejęcia.
Należy zaktualizować bibliotekę rand_core do wersji 0.4.2 lub nowszej. Szczegóły dostępne są w poradniku bezpieczeństwa RUSTSEC-2019-0035 pod adresem https://rustsec.org/advisories/RUSTSEC-2019-0035.html
Biblioteka rand_core (projekt Rand dla języka Rust) w wersjach przed 0.4.2.
Podatność jest opisana w rejestrze RustSec jako RUSTSEC-2019-0035, mimo że CVE zostało opublikowane w 2020 roku.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HRand Project Rand
APPRand Project< 0.4.2