CRITICAL✓ PATCH🇬🇧 English

CVE-2021-45706

Niezeroowanie pamięci dla typów enum w crate zeroize_derive (Rust)

CVSS 9.8v3.1pub. 2021-12-27upd. 2024-11-21

Podatność w bibliotece zeroize_derive dla języka Rust (wersje przed 1.1.1) powoduje, że zwalniana pamięć przypisana do typów enum nie jest prawidłowo zerowana. Stanowi to zagrożenie dla poufności danych wrażliwych, takich jak klucze kryptograficzne czy hasła, które mogą pozostać w pamięci po ich zwolnieniu.

Pokaż oryginał (EN)

An issue was discovered in the zeroize_derive crate before 1.1.1 for Rust. Dropped memory is not zeroed out for an enum.

🤖 Analiza AI
Jak działa

Biblioteka zeroize_derive dostarcza mechanizm automatycznego zerowania zawartości pamięci po zwolnieniu obiektów (implementacja cechy Zeroize). W wersjach przed 1.1.1 mechanizm ten nie działał poprawnie dla typów enum — po zwolnieniu (drop) obiektu będącego enumem, jego zawartość w pamięci nie była nadpisywana zerami. Zgodnie z klasyfikacją CWE-459 jest to błąd niepełnego czyszczenia (incomplete cleanup). Oznacza to, że dane, które miały zostać bezpowrotnie usunięte, mogą być nadal dostępne w pamięci procesu.

Skutki

Atakujący lub inny kod działający w tym samym procesie może potencjalnie odczytać wrażliwe dane (np. klucze prywatne, sekrety kryptograficzne) pozostałe w pamięci po zwolnieniu obiektów enum. Naruszeniu ulega poufność, integralność oraz dostępność zasobów, co odzwierciedla maksymalny wynik CVSS 9.8.

Mitygacja

Należy zaktualizować crate zeroize_derive do wersji 1.1.1 lub nowszej. Szczegóły dostępne w referencjach producenta pod adresem https://rustsec.org/advisories/RUSTSEC-2021-0115.html

Kogo dotyczy

Crate zeroize_derive w wersjach przed 1.1.1 dla języka Rust — wszystkie aplikacje i biblioteki używające zeroize_derive do bezpiecznego czyszczenia typów enum.

Uwagi

Podatność opisana w bazie RustSec jako RUSTSEC-2021-0115. Dotyczy specyficznie typów enum — inne typy danych (np. struktury) mogły być obsługiwane poprawnie przez wcześniejsze wersje biblioteki.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Zeroize Derive Project Zeroize Derive

    APP
    Zeroize Derive Project
    < 1.1.1
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
CWE
Referencje