CVE-2026-85717
ŚrednieCVSS 6.8Streszczenie
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.
Ocena ryzyka
Ryzyko polega na możliwości wycieku poświadczeń do nieautoryzowanych domen, co może prowadzić do naruszenia bezpieczeństwa kont użytkowników.
Rekomendacja
Zaleca się aktualizację biblioteki AsyncHttpClient do wersji 2.16.1 lub 3.0.12 (w zależności od używanej linii), które zawierają poprawkę eliminującą problem.
Inne podatności w AsyncHttpClient
Zobacz wszystkie- CVE-2026-85720Średnie
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.
- 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-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.14.5 to 2.16.0 and from 3.0.9 to 3.0.11, a client configured with a client-wide Realm and redirect following can disclose credentials after a cross-origin redirect because the Interceptors authentication path falls back to the client configuration after redirect handling clears the per-exchange realm. If the attacker-controlled target returns 401, the client can send Basic or Digest credentials or a Negotiate or NTLM token to that origin. Per-request realms are stripped correctly, and this issue is a residual bypass of the earlier cross-origin credential-stripping fixes. This issue is fixed in versions 2.16.1 and 3.0.12.

