Dostępne są poprawki do biblioteki kryptograficznej OpenSSL w wersjach 3.0.16, 3.1.8, 3.2.4, 3.3.3 oraz 3.4.1. W wersjach 3.2.4, 3.3.3 i 3.4.1 naprawiono lukę (CVE-2024-12797), której przyznano wysoki poziom zagrożenia. Luka ta umożliwia przeprowadzenie ataku MITM na połączenia TLS i DTLS. Problem występuje tylko w systemach, które używają do uwierzytelniania klientów kluczy publicznych RPK (Raw Public Key, RFC 7250). Domyślnie obsługa RPK jest wyłączona po stronie klienta i serwera.
Luka powstaje z powodu tego, że OpenSSL nie zwraca klientowi informacji o błędzie uwierzytelnienia serwera podczas nawiązywania połączenia w trybie weryfikacji SSL_VERIFY_PEER, ponieważ proces negocjacji połączenia nie zostaje prawidłowo zerwany. Atakujący może przeprowadzić atak MITM i przekierować ruch na swój host zamiast na docelowy serwer, a klient nie otrzyma informacji, że serwer nie został uwierzytelniony. Problem występuje od gałęzi OpenSSL 3.2, w której wprowadzono możliwość używania RPK zamiast certyfikatów X.509.
Ponadto w aktualizacjach OpenSSL naprawiono lukę CVE-2024-13176, która umożliwia przeprowadzenie ataku przez boczne kanały w celu odzyskania tajnego klucza ECDSA poprzez analizę opóźnień, które pojawiają się podczas generowania podpisu cyfrowego. Istota luki polega na tym, że dla niektórych rodzajów krzywych eliptycznych, takich jak NIST P-521, z ogółu obliczeń można wyróżnić obliczenia z zerowymi najstarszymi bitami odwróconej wartości wektora inicjalizacyjnego (nonce), których czas przetwarzania różni się o 300 nanosekund.
W przypadku ECDSA określenie nawet kilku bitów z informacją o wektorze inicjalizacyjnym jest wystarczające do przeprowadzenia ataku polegającego na sekwencyjnym odzyskiwaniu całego tajnego klucza. Aby atak był skuteczny, atakujący musi mieć dostęp do lokalnego systemu, na którym działa aplikacja generująca podpisy cyfrowe, lub szybki dostęp sieciowy do aplikacji z bardzo niskimi opóźnieniami. Atakujący musi również mieć możliwość bardzo dokładnej analizy czasu generowania dużej liczby podpisów cyfrowych utworzonych nad danymi, które są mu znane.
Źródło: opennet.ru
