Podatność w bibliotece rand_core dla języka Rust (przed wersją 0.6.2) powoduje, że generator liczb losowych może zostać zainicjowany zbyt małą ilością danych losowych. Prowadzi to do osłabienia kryptograficznej jakości generowanych liczb, co może mieć poważne konsekwencje dla bezpieczeństwa aplikacji korzystających z tej biblioteki.
▸ Pokaż oryginał (EN)
An issue was discovered in the rand_core crate before 0.6.2 for Rust. Because read_u32_into and read_u64_into mishandle certain buffer-length checks, a random number generator may be seeded with too little data.
Funkcje read_u32_into oraz read_u64_into nieprawidłowo weryfikują długość przekazywanego bufora danych. Wskutek błędnej kontroli rozmiaru bufora (CWE-131 — nieprawidłowe obliczenie rozmiaru bufora) generator liczb losowych może zostać zasilony (seeded) mniejszą ilością danych entropii niż wymagana. Efektem jest zmniejszona losowość generowanych wartości, co może powodować przewidywalność danych kryptograficznych.
Atakujący może potencjalnie przewidzieć wartości generowane przez osłabiony generator liczb losowych, co zagraża poufności i integralności danych kryptograficznych — np. kluczy, tokenów sesji lub innych sekretów generowanych z użyciem tej biblioteki.
Należy zaktualizować bibliotekę rand_core do wersji 0.6.2 lub nowszej. Szczegóły dostępne w poradniku RUSTSEC-2021-0023 pod adresem https://rustsec.org/advisories/RUSTSEC-2021-0023.html.
Biblioteka rand_core dla języka Rust w wersjach przed 0.6.2 (Rand Core Project).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HRand Core Project Rand Core
APPRand Core Project0.6.0 – 0.6.2 (bez)