CVE-2026-94417
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 7 - wyżej niż 7% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Organizacja może zaakceptować odwołane certyfikaty, co umożliwia atakującemu podszywanie się pod zaufane strony lub klientów. W przypadku długo działających procesów, niesprawdzony certyfikat pośredni może zostać uznany za zaufany dla kolejnych połączeń, zwiększając ryzyko trwałego naruszenia zaufania.
Rekomendacja
Zaktualizuj wolfSSL do wersji nowszej niż 5.9.2, jeśli dostępna. Jeśli aktualizacja nie jest możliwa, wyłącz jednoczesne włączanie OCSP i CRL lub skonfiguruj sprawdzanie OCSP z wymogiem odpowiedzi (CHECKALL), aby uniknąć miękkiego trybu awarii.
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-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.
- 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)
When an application enables both OCSP and CRL revocation checking on one WOLFSSL_CTX or certificate manager, wolfSSL skips the CRL check for any peer certificate that carries no Authority Information Access OCSP URL, and accepts a certificate the loaded CRL lists as revoked. The soft-fail policy for a missing responder collapses the OCSP result onto success before the code decides whether the CRL fallback is still needed, so "no responder exists" becomes indistinguishable from "the responder answered good". Affected builds define both HAVE_OCSP and HAVE_CRL: --enable-ocsp --enable-crl directly, and implicitly --enable-all, --enable-distro, --enable-curl, --enable-nginx, --enable-haproxy, --enable-stunnel, --enable-lighty, --enable-wpas, --enable-strongswan, --enable-mosquitto, --enable-jni, --enable-openvpn and --enable-krb. An application is affected only if it calls both wolfSSL_CTX_EnableOCSP() (or wolfSSL_EnableOCSP() / wolfSSL_CertManagerEnableOCSP()) and wolfSSL_CTX_EnableCRL() (or the equivalents) with a CRL loaded; an application that uses OCSP stapling alone through wolfSSL_CTX_EnableOCSPStapling() is not affected, because that sets up a separate OCSP instance. The defect sits in ProcessPeerCerts() and is reachable over TLS 1.0 through TLS 1.3 and DTLS, both on a client verifying a server certificate and on a server verifying a client certificate under mutual or post-handshake authentication. When the skipped check falls on a chain certificate rather than the leaf, the unchecked intermediate is promoted into the certificate manager and stays a trusted signer for every later connection on that context, so an affected long-running process needs its WOLFSSL_CTX torn down and not only its library replaced. All wolfSSL versions from 5.9.2 and earlier are affected; on versions 5.9.1 and 5.9.2 the WOLFSSL_OCSP_CHECKALL configuration fails closed with OCSP_NEED_URL, which leaves wolfSSL_CTX_EnableOCSP() without CHECKALL as the exposed configuration on 5.9.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

