CVE-2026-42327
WysokieStreszczenie
W bibliotece rust-openssl, wersje od 0.9.7 do przed 0.10.79, występuje podatność związana z nieprawidłowym przetwarzaniem adresów URL responderów OCSP z rozszerzenia AIA certyfikatu. Użycie nieprawidłowych bajtów w lokalizacji dostępu OCSP może prowadzić do naruszenia zasady UTF-8, co skutkuje nieokreślonym zachowaniem.
Ocena ryzyka
Organizacje mogą być narażone na nieprzewidywalne zachowanie aplikacji, co może prowadzić do awarii lub wykorzystania podatności przez atakujących. W szczególności, może to wpłynąć na bezpieczeństwo aplikacji korzystających z tej biblioteki.
Rekomendacja
Zaleca się aktualizację biblioteki rust-openssl do wersji 0.10.79 lub nowszej, aby usunąć tę podatność. Należy również przeprowadzić audyt kodu w celu identyfikacji potencjalnych miejsc, gdzie może wystąpić podobne zachowanie.
Inne podatności w rust-openssl
Zobacz wszystkie- CVE-2026-45784Wysokie
Podatność w rust-openssl od wersji 0.10.50 do 0.10.80. Funkcja `CipherCtxRef::cipher_update_inplace` nieprawidłowo określa rozmiar bufora wyjściowego dla szyfrów AES key-wrap-with-padding (`EVP_aes_{128,192,256}_wrap_pad`), co przy długości wejścia niebędącej wielokrotnością 8 powoduje zapis do 7 bajtów poza buforem, prowadząc do uszkodzenia sterty.
- CVE-2026-41898Średnie
Podatność w bibliotece rust-openssl (wersje od 0.9.24 do 0.10.78) powoduje, że funkcje zwrotne dla PSK i cookie nie sprawdzają wartości zwracanej przez domknięcie użytkownika względem rozmiaru bufora. Może to prowadzić do przepełnienia bufora i innych nieprzewidzianych konsekwencji.
- CVE-2026-41681Wysokie
W bibliotece rust-openssl w wersjach od 0.10.39 do 0.10.77 występuje podatność na przepełnienie bufora w funkcji EVP_DigestFinal(). Funkcja ta zawsze zapisuje dane o rozmiarze EVP_MD_CTX_size(ctx) do bufora wyjściowego, co przy mniejszym buforze prowadzi do zapisu poza jego granicami i potencjalnego uszkodzenia stosu. Problem jest osiągalny z bezpiecznego kodu Rust.
- CVE-2026-41678Wysokie
W bibliotece rust-openssl w wersjach przed 0.10.78 wykryto błędne sprawdzenie warunku w funkcji aes::unwrap_key(). Asercja sprawdza out.len() + 8 <= in_.len(), podczas gdy poprawny warunek to out.len() >= in_.len() - 8. Powoduje to zapis poza dozwolonym obszarem bufora wyjściowego przy użyciu mniejszego bufora.
- CVE-2026-41676Wysokie
W bibliotece rust-openssl w wersjach od 0.9.27 do 0.10.77 występuje podatność na przepełnienie pamięci (sterty/stosu) podczas wywoływania funkcji Deriver::derive i PkeyCtxRef::derive. Problem dotyczy starszych wersji OpenSSL (1.1.x), gdzie funkcja EVP_PKEY_derive ignoruje przekazany rozmiar bufora i zapisuje cały współdzielony sekret, co może prowadzić do przepełnienia nawet przy bezpiecznym kodzie.
Oryginalny opis (angielski, źródło NVD)
rust-openssl provides OpenSSL bindings for the Rust programming language. From 0.9.7 to before 0.10.79, X509Ref::ocsp_responders returns OCSP responder URLs from a certificate's AIA extension as OpensslString, whose Deref<Target = str> wraps the raw bytes with str::from_utf8_unchecked. OpenSSL does not enforce that the underlying IA5String is ASCII, so a certificate with non-UTF-8 bytes in its OCSP accessLocation causes safe Rust code to construct a &str that violates the UTF-8 invariant — resulting in undefined behavior. This vulnerability is fixed in 0.10.79.

