CVE-2026-85720
ŚrednieCVSS 5.9Streszczenie
Biblioteka AsyncHttpClient (AHC) w wersjach od 2.0.0 do 2.16.1 oraz 3.0.12 umożliwia wyciek poświadczeń origin podczas korzystania z proxy HTTP do połączeń HTTPS. NettyRequestFactory i NettyRequestSender.sendRequestWithNewChannel dołączają nagłówek Authorization do zwykłego żądania CONNECT przed ustanowieniem tunelu TLS, przez co poświadczenia Basic, Digest oraz tokeny NTLM, Kerberos lub SPNEGO są widoczne dla proxy i obserwatorów na trasie klient-proxy.
Ocena ryzyka
Poświadczenia uwierzytelniające mogą zostać przechwycone przez nieuczciwe proxy lub osoby obserwujące ruch sieciowy, co może prowadzić do nieautoryzowanego dostępu do chronionych zasobów.
Rekomendacja
Zaktualizuj AsyncHttpClient do wersji 2.16.1 lub 3.0.12, które zawierają poprawkę. Upewnij się, że połączenia z proxy są szyfrowane, jeśli to możliwe.
Inne podatności w AsyncHttpClient
Zobacz wszystkie- CVE-2026-85716Niskie
Biblioteka AsyncHttpClient (AHC) w wersjach od 3.0.8 do 3.0.12 nie wymusza weryfikacji wyników uwierzytelniania SCRAM ServerSignature oraz Digest rspauth. W przypadku niezabezpieczonego lub skompromitowanego transportu atakujący może zostać zaakceptowany jako serwer bez znajomości wspólnego sekretu. Luka została naprawiona w wersji 3.0.12.
- CVE-2026-85721Wysokie
Biblioteka AsyncHttpClient (AHC) w wersjach od 2.0.0 do 2.16.1 oraz 3.0.12 instaluje dekompresor odpowiedzi HTTP/1.1 bez limitu całkowitego rozmiaru zdekompresowanych danych. Złośliwy lub przejęty serwer może wysłać małą odpowiedź gzip, deflate lub snappy, która po dekompresji rozrasta się do ogromnych rozmiarów i wyczerpuje stertę klienta, powodując OutOfMemoryError. Problem dotyczy również brotli i zstd, a w wersjach 3.0.8–3.0.10 także dekompresora HTTP/2.
- CVE-2026-85719Wysokie
Biblioteka AsyncHttpClient (AHC) w wersjach od 2.1.0 do 2.16.1 oraz 3.0.12 może ujawnić poświadczenia uwierzytelnionego proxy SOCKS serwerowi docelowemu. Nagłówek Proxy-Authorization jest dołączany bez potwierdzenia, że żądanie jest wysyłane do proxy HTTP, co przy preemptive authentication ujawnia dane logowania w jawnym tekście, a przy domyślnym przepływie złośliwy origin może wymusić przesłanie poświadczeń NTLM, Kerberos lub SPNEGO przez tunel SOCKS.
- CVE-2026-85718Średnie
Biblioteka AsyncHttpClient (AHC) umożliwia aplikacjom Java łatwe wykonywanie żądań HTTP i asynchroniczne przetwarzanie odpowiedzi HTTP. Od wersji 3.0.8 do 3.0.12, klient z ustawionym maxConnections lub maxConnectionsPerHost powyżej zera wycieka jeden permit połączenia, gdy ustanowienie połączenia TLS nie powiedzie się przed zakończeniem uzgadniania. NettyConnectListener usuwa permit partitionKeyLock z NettyResponseFuture przed każdą ścieżką błędu, która jest powiązana z closeFuture kanału, więc przerwanie może pozostawić permit niezwolniony. Powtarzające się błędy mogą trwale zablokować jeden host przy limicie per-host lub wyczerpać wspólną pulę przy limicie globalnym, blokując późniejsze żądania nawet gdy żadne połączenie nie pozostaje otwarte. Domyślne ustawienie nieograniczonej liczby połączeń nie jest dotknięte. Problem został naprawiony w wersji 3.0.12.
- CVE-2026-85717Średnie
Biblioteka AsyncHttpClient (AHC) umożliwia aplikacjom Java łatwe wykonywanie żądań HTTP i asynchroniczne przetwarzanie odpowiedzi HTTP. Od wersji 2.14.5 do 2.16.0 oraz od 3.0.9 do 3.0.11, klient skonfigurowany z globalnym Realm i podążaniem za przekierowaniami może ujawnić poświadczenia po przekierowaniu między domenami, ponieważ ścieżka uwierzytelniania Interceptors wraca do konfiguracji klienta po tym, jak obsługa przekierowań wyczyści realm dla bieżącej wymiany. Jeśli cel kontrolowany przez atakującego zwróci 401, klient może wysłać poświadczenia Basic lub Digest lub token Negotiate lub NTLM do tego źródła. Realm dla poszczególnych żądań są usuwane poprawnie, a ten problem jest resztkowym obejściem wcześniejszych poprawek usuwających poświadczenia między domenami. Problem został naprawiony w wersjach 2.16.1 i 3.0.12.
- CVE-2026-55688Średnie
Biblioteka AsyncHttpClient (AHC) w wersjach od 2.0.0 do 2.15.0 oraz od 3.0.0.Beta1 do 3.0.10 zawiera podatność w ThreadSafeCookieStore, która nie weryfikuje, czy host odpowiadający ma prawo ustawić ciasteczko dla domeny. Umożliwia to atakującemu hostowi wstrzyknięcie ciasteczka dla niepowiązanej domeny, które klient następnie wysyła do tej domeny.
- CVE-2026-45300Wysokie
Biblioteka AsyncHttpClient (AHC) w wersjach 2.x przed 2.15.0 i 3.x przed 3.0.10 wycieka nagłówki Cookie do docelowych przekierowań między domenami. Podczas przekierowania do innego pochodzenia nagłówek Cookie nie jest usuwany, co umożliwia wysłanie ciasteczek sesyjnych do serwerów atakującego. Podatność naprawiona w wersjach 2.15.0 i 3.0.10.
Oryginalny opis (angielski, źródło NVD)
The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. From 2.0.0 until 2.16.1 and 3.0.12, a request using an HTTP proxy to reach an HTTPS origin can expose preemptive origin credentials because NettyRequestFactory and NettyRequestSender.sendRequestWithNewChannel attach Authorization to the plaintext CONNECT request before the TLS tunnel exists. Basic or Digest credentials and per-connection NTLM, Kerberos, or SPNEGO tokens intended for the origin are therefore visible to the proxy and to observers on the client-to-proxy hop. The tunneled request still receives origin Authorization after the tunnel is established, while Proxy-Authorization remains on CONNECT for its intended proxy recipient. This issue is fixed in versions 2.16.1 and 3.0.12.

