CVE-2026-15442
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
We wszystkich wersjach korzystających z (D)TLS, w tym w wersjach domyślnych, istnieje sekwencja stanów warunkowych podczas zamykania TLS, która może prowadzić do użycia po zwolnieniu pamięci (heap-use-after-free). Jeśli aplikacja otrzyma częściowy wynik wolfSSL_read(), co czasami jest spowodowane małym buforem użytkownika, a następnie wywoła wolfSSL_shutdown w celu dwukierunkowego zamknięcia i spróbuje ponownie wywołać wolfSSL_read(), podczas gdy peer kontynuuje wysyłanie danych w trakcie zamykania, może dojść do użycia po zwolnieniu.
Ocena ryzyka
Podatność może prowadzić do naruszenia integralności pamięci, co może skutkować awarią aplikacji lub potencjalnie wykonaniem dowolnego kodu przez atakującego.
Rekomendacja
Zaleca się natychmiastowe zaktualizowanie biblioteki wolfSSL do wersji zawierającej poprawkę oraz przejrzenie kodu aplikacji pod kątem wzorców wywołań wolfSSL_read() i wolfSSL_shutdown.
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-95208Wysokie
Podatność w funkcji ConfirmNameConstraints() w pliku wolfcrypt/src/asn.c biblioteki wolfSSL w wersjach 5.9.1 i 5.9.2 pozwala atakującemu wywołać odmowę usługi (DoS) poprzez dostarczenie spreparowanych certyfikatów urzędu certyfikacji. W efekcie klienci TLS oparte na wolfSSL błędnie odrzucają prawidłowe certyfikaty bez rozszerzenia SAN.
- 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-93304Niskie
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.
Oryginalny opis (angielski, źródło NVD)
In all builds that make use of (D)TLS, including default builds, there is a series of conditional states during the TLS shutdown which could lead to a heap-use-after free. If an application ended up getting a partial wolfSSL_read() which is sometimes caused by a small user buffer passed in, then called wolfSSL_shutdown for a bidirectional close and attempted to wolfSSL_read() again while the peer continues trying to send data during the shutdown it would lead to a state where a potential heap-use-after free happened.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

