CVE-2026-93304
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 8 - wyżej niż 8% wszystkich znanych CVE
Streszczenie
Klient (D)TLS 1.2 może zaakceptować wiadomość ChangeCipherSpec przed wysłaniem ClientKeyExchange, co pozwala atakującemu dokończyć handshake zamiast serwera i wysyłać dane akceptowane jako autentyczne. Klienci DTLS 1.2 są narażeni, gdy datagram dostarczy nieuporządkowane rekordy, a klienci TLS 1.2, gdy aplikacja używa wolfSSL_inject() lub włącza read ahead.
Ocena ryzyka
Atakujący może podszyć się pod serwer i wysyłać dane, które klient uzna za autentyczne, co może prowadzić do man-in-the-middle lub fałszowania danych. W przypadku połączeń PSK każdy fałszywy serwer może odnieść sukces bez znajomości PSK.
Rekomendacja
Zaktualizuj wolfSSL do wersji z poprawką. Jeśli nie jest to możliwe, unikaj używania wolfSSL_inject() i wyłącz read ahead, a także rozważ wyłączenie DTLS 1.2, jeśli to możliwe.
Inne podatności w wolfSSL
Zobacz wszystkie- CVE-2017-13099Wysokie
Wersje wolfSSL przed 3.12.2 zawierają słabą orakl Bleichenbachera, gdy negocjowana jest jakakolwiek suite szyfrowania TLS z użyciem wymiany kluczy RSA. Atakujący może odzyskać klucz prywatny z podatnej aplikacji wolfSSL.
- CVE-2017-8855Wysokie
Wersje wolfSSL przed 3.11.0 nie zapobiegają akceptacji źle sformatowanego klucza DH przez funkcję wc_DhAgree.
- CVE-2017-8854Wysokie
Wersje wolfSSL przed 3.10.2 mają problem z dostępem do pamięci poza przydzielonym zakresem podczas ładowania spreparowanych parametrów DH, co prowadzi do przepełnienia bufora wywołanego przez źle sformatowany tymczasowy plik DH.
- CVE-2015-6925Wysokie
Wersje wolfSSL (wcześniej CyaSSL) przed 3.6.8 są podatne na atak typu denial of service, który może być spowodowany przez złośliwie skonstruowane ciasteczko DTLS w wiadomości ClientHello.
- CVE-2026-89134Krytyczne
Certyfikat bez dNSName SAN, ale z innym typem SAN (np. registeredID lub iPAddress) omija sprawdzanie ograniczeń nazw dla CN jako DNS. Poprawka z CVE-2026-6731 była niekompletna, co wprowadzono w wolfSSL 5.9.2.
- CVE-2023-3724Krytyczne
Podatność CVE-2023-3724 dotyczy klientów TLS 1.3, które nie otrzymują rozszerzenia PSK ani KSE podczas łączenia się z złośliwym serwerem. W takim przypadku używany jest domyślny, przewidywalny bufor dla wartości IKM, co może prowadzić do kompromitacji klucza sesji.
- CVE-2017-2800Krytyczne
Specjalnie przygotowany certyfikat x509 może spowodować nadpisanie bajtu poza zakresem w wolfSSL w wersji do 3.10.2, co prowadzi do potencjalnych luk w walidacji certyfikatów, odmowy usługi oraz możliwego zdalnego wykonania kodu.
- CVE-2026-94417Średnie
Podatność w wolfSSL powoduje pominięcie sprawdzania listy CRL dla certyfikatów bez adresu OCSP, gdy włączone jest jednocześnie sprawdzanie OCSP i CRL. W rezultacie certyfikat odwołany przez CRL może zostać zaakceptowany, a brak odpowiedzi OCSP jest traktowany jako odpowiedź pozytywna. Problem dotyczy wersji do 5.9.2 włącznie i jest osiągalny w TLS 1.0-1.3 oraz DTLS.
- CVE-2026-93302Wysokie
Funkcja MatchTrustedPeer ignoruje użyty klucz publiczny, co pozwala na sfałszowanie klonów CA i ominięcie weryfikacji. Dotyczy to buildów z makrem WOLFSSL_TRUST_PEER_CERT i ładowaniem certyfikatów CA przez wolfSSL_CTX_trust_peer_cert() lub wolfSSL_trust_peer_cert(). Atakujący musi znać ładowane certyfikaty, aby wykorzystać podatność.
- CVE-2026-89136Wysokie
W przypadku użycia RPK (Raw Public Key), klient TLS 1.2, 1.3 i DTLS 1.2 może zaakceptować niechciany typ certyfikatu serwera RawPublicKey, co pozwala złośliwemu lub błędnie działającemu serwerowi ominąć uwierzytelnianie. RPK jest domyślnie wyłączone i dostępne tylko w buildach z --enable-rpk, --enable-all lub --enable-distro.
Oryginalny opis (angielski, źródło NVD)
A (D)TLS 1.2 client can accept a ChangeCipherSpec message before it has sent its ClientKeyExchange. No master secret has been derived at that point, so the client installs read keys derived from a known (deterministic) key and checks the server's Finished against that same key. An out-of-order ChangeCipherSpec can therefore be used by an attacker to complete the handshake in place of the server and send data the client accepts as authentic. The client's own traffic still uses correctly derived keys, so the attacker cannot read it, and the genuine server never completes the handshake. DTLS 1.2 clients are exposed because a datagram read can deliver the out-of-order records on its own. TLS 1.2 clients are exposed when the application supplies received bytes with wolfSSL_inject() or enables read ahead. For certificate suites, the attacker must be in a man-in-the-middle position. For PSK (Pre Shared Key) connections, any fake server can succeed without knowing the PSK.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

