HIGH🇬🇧 English

CVE-2026-56822

Netty: race condition w walidacji OCSP umożliwia wyciek danych do unieważnionego serwera

CVSS 7.4v3.1pub. 2026-07-29upd. 2026-08-07

W frameworku Netty komponent OcspServerCertificateValidator przekazuje zdarzenie zakończenia handshake TLS przed ukończeniem asynchronicznej walidacji OCSP certyfikatu serwera. W rezultacie aplikacja kliencka może wysłać wrażliwe dane (np. żądania HTTP) do serwera posługującego się unieważnionym certyfikatem, zanim kanał zostanie zamknięty.

Pokaż oryginał (EN)

Netty is an asynchronous, event-driven network application framework. Prior to versions 4.1.136.Final and 4.2.16.Final, the OcspServerCertificateValidator forwards the SslHandshakeCompletionEvent before the asynchronous OCSP validation completes. This allows the client's downstream handlers to send sensitive application data (e.g., HTTP requests) to a revoked server before the channel is closed by the OCSP check. n io.netty.handler.ssl.ocsp.OcspServerCertificateValidator#userEventTriggered, when an SslHandshakeCompletionEvent is received, the validator immediately calls ctx.fireUserEventTriggered(evt). It then initiates an asynchronous OCSP query using OcspClient.query. Because the handshake completion event is forwarded immediately, downstream handlers in the client's pipeline are notified that the TLS handshake is successful. They may then begin reading and processing incoming application data or sending outgoing data. If the OCSP response later indicates the server's certificate is REVOKED, the validator closes the channel, but by this time, the client may have already leaked sensitive data to a revoked server or processed malicious responses from it. This issue has been fixed in versions 4.1.136.Final and 4.2.16.Final.

🤖 Analiza AI
Jak działa

W metodzie OcspServerCertificateValidator#userEventTriggered, po odebraniu zdarzenia SslHandshakeCompletionEvent, walidator natychmiast wywołuje ctx.fireUserEventTriggered(evt), powiadamiając dalsze handlery w pipeline'ie klienta o pomyślnym zakończeniu uzgadniania TLS. Dopiero po tym inicjowane jest asynchroniczne zapytanie OCSP do weryfikacji stanu certyfikatu. Ponieważ zdarzenie jest przekazywane przed zakończeniem walidacji (CWE-367: Time-of-check Time-of-use race condition), handlery downstream mogą rozpocząć wysyłanie danych aplikacyjnych. Jeśli odpowiedź OCSP wskaże, że certyfikat serwera jest unieważniony, kanał zostaje zamknięty, lecz może to nastąpić już po wycieku wrażliwych danych.

Skutki

Atakujący kontrolujący serwer z unieważnionym certyfikatem może przechwycić wrażliwe dane aplikacyjne wysłane przez klienta (np. dane uwierzytelniające, tokeny, żądania HTTP) lub dostarczyć klientowi złośliwe odpowiedzi zanim mechanizm OCSP zdąży zamknąć połączenie.

Mitygacja

Należy zaktualizować Netty do wersji 4.1.136.Final lub 4.2.16.Final, w których opisany błąd został naprawiony. Szczegóły dostępne w referencjach producenta (GitHub Security Advisory GHSA-wc96-39fc-566f).

Kogo dotyczy

Netty w wersjach wcześniejszych niż 4.1.136.Final oraz 4.2.16.Final, korzystających z komponentu OcspServerCertificateValidator.

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
  • Netty

    APP
    Netty
    < 4.1.1364.2.0 – 4.2.16 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2019-20444CRITICAL9.1PL ✓ten sam produkt

Netty: nieprawidłowe parsowanie nagłówków HTTP bez dwukropka (HTTP Request Smuggling)

CVE-2019-20445CRITICAL9.1PL ✓ten sam produkt

Netty: HTTP Request Smuggling przez duplikat nagłówka Content-Length

CVE-2023-44487HIGH7.5⚠ KEVten sam produkt

The HTTP/2 protocol allows a denial of service (server resource consumption) because request cancellation can ...

CVE-2026-56821HIGH7.4PL ✓ten sam produkt

Netty: bypass odwołania certyfikatu przez replay przeterminowanej odpowiedzi OCSP

CVE-2026-59901HIGH8.7PL ✓ten sam produkt

Netty Bzip2Decoder — nieskończona pętla prowadząca do DoS