Wszystkie artykuły

Vulnerabilities

OpenSSL i wolfSSL łatają luki wysokiej wagi. W OpenSSL możliwy zdalny wyciek pamięci w DTLS

UDOSTĘPNIJFacebook X

OpenSSL i wolfSSL wydały zbiorcze aktualizacje bezpieczeństwa. W obu bibliotekach załatano po kilkanaście błędów, w tym podatności wysokiej wagi. Na moment publikacji nie znaleźliśmy polskiego opracowania, więc podsumowujemy, co dokładnie poprawiono.

Co załatano w OpenSSL

Advisory z 29 września zamyka 14 podatności: jedną wysoką, jedną średnią i dwanaście niskich.

CVE-2026-84782 (wysoka, CVSS 8.2) to błąd w implementacji DTLS, czyli odmiany TLS działającej po UDP, spotykanej w VPN-ach, VoIP i urządzeniach IoT. Zwykłe HTTPS po TCP nie jest nim dotknięte.

Problem pojawia się w handshake’u. Zapis wiadomości może zostać wstrzymany w połowie, bo transport chwilowo nie przyjmuje danych. Jeśli w tym czasie odpali timer retransmisji, OpenSSL czyta retransmitowaną wiadomość od złego miejsca w buforze. Do drugiej strony trafia wtedy w czystym tekście fragment sterty, który nigdy nie miał być wysłany. Gdy odczyt wyjdzie poza zmapowaną pamięć, aplikacja się wywraca.

To ta sama klasa błędu co słynny Heartbleed (odczyt poza buforem), choć przyczyna jest inna: zawiodła logika retransmisji, a nie walidacja długości. Lukę można wykorzystać zdalnie, bez uwierzytelnienia i bez interakcji użytkownika. Odkrył ją Laurent Gaffie (secorizon.com).

Rys1.Advisory OpenSSL dla CVE-2026-84782 z listą podatnych wersji

CVE-2026-84783 (średnia) to use-after-free w pamięci podręcznej rozszerzeń X.509. Pozwala nieuwierzytelnionemu partnerowi wywrócić wielowątkowego klienta TLS albo serwer żądający certyfikatów klienta. Dotyczy wyłącznie gałęzi 4.0.

Reszta to błędy niskiej wagi: głównie DoS (nadmierne zużycie pamięci i CPU w QUIC i DTLS), możliwość nadużycia serwerów QUIC do amplifikacji DDoS oraz kanały boczne w SM2 i na krzywych spoza NIST, takich jak Brainpool. Wyciek jest tam minimalny i wymaga ogromnej liczby pomiarów.

Co załatano w wolfSSL

Wersja 5.9.4 z 25 września zamyka 11 podatności, w tym trzy wysokiej wagi. Wszystkie pozwalają ominąć uwierzytelnianie drugiej strony w określonych konfiguracjach.

  • CVE-2026-93302. wolfSSL ignoruje klucz publiczny przy dopasowywaniu certyfikatu do zaufanego certyfikatu peera. Złośliwy serwer znający CA, któremu ufa klient, może podstawić jego „klon”. Dotyczy buildów używanych m.in. z Nginx, HAProxy, Stunnel i Apache httpd. Podatna jest ścieżka weryfikacji (D)TLS w wersjach 5.3.0 do 5.9.2, a obejściem jest flaga –disable-openssl-compatible-defaults i niewczytywanie CA przez wolfSSL_CTX_trust_peer_cert().
  • CVE-2026-89102. Błąd po stronie klienta w obsłudze RFC 6961 (wielokrotne zszywanie odpowiedzi OCSP), w wersjach 5.7.2 do 5.9.2, prowadzący do fałszowania certyfikatów. Atakujący potrzebuje dowolnego certyfikatu z kluczem prywatnym, łańcuchowanego do zaufanego CA.
  • CVE-2026-89136. Serwer może ominąć uwierzytelnianie u klientów z włączonym Raw Public Key, wybierając typ certyfikatu, o który klient nie prosił.

Cztery błędy średniej wagi dotyczą walidacji certyfikatów: obejścia name constraints, wstawienia niezweryfikowanego CA do wspólnego menedżera certyfikatów i błędu w kolejności handshake’u, który pozwala dokończyć handshake TLS/DTLS 1.2 w miejsce prawdziwego serwera. Cztery niskie to m.in. use-after-free przy zamykaniu połączenia i pomijanie sprawdzania CRL. Większość z nich wymaga specyficznej konfiguracji albo starszego API, ale „specyficzna konfiguracja” w praktyce znaczy, że ktoś na świecie na pewno tak ma.

Kogo to dotyczy

Obie biblioteki siedzą pod spodem tysięcy produktów: serwerów WWW, bramek VPN, sprzętu IoT i systemów wbudowanych. Najbardziej realne skutki to wyciek fragmentów pamięci w usługach DTLS, man-in-the-middle tam, gdzie wolfSSL odpowiada za uwierzytelnianie peera, oraz zdalny DoS bez logowania.

Nie znamy doniesień o aktywnym wykorzystaniu którejkolwiek z tych luk. Przy tak rozpowszechnionych bibliotekach okno między poprawką a pierwszymi atakami bywa jednak krótkie.

Co zrobić

  • OpenSSL: zaktualizujcie do wersji 4.0.3, 3.6.5, 3.5.9, 3.4.8 lub 3.0.23, zależnie od używanej gałęzi. Dla 1.1.1 (1.1.1zj) i 1.0.2 (1.0.2zs) poprawki są tylko w płatnym wsparciu.
  • wolfSSL: minimum 5.9.4. Jeśli nie możecie zaktualizować od razu, użyjcie wspomnianej flagi przy CVE-2026-93302.
  • Linux: sprawdźcie advisory swojej dystrybucji. Poprawki z upstreamu nie zawsze trafiają do repozytoriów tego samego dnia.
  • Priorytet: usługi oparte na DTLS oraz integracje wolfSSL z Raw Public Keys i zszywaniem OCSP.

Źródła: SecurityWeek, advisory OpenSSL z 29.09.2026, release notes wolfSSL 5.9.4.