CVE-2026-107279
WysokieCVSS 8.8Streszczenie
Biblioteka AsyncHttpClient (AHC) umożliwia aplikacjom Java łatwe wykonywanie żądań HTTP i asynchroniczne przetwarzanie odpowiedzi. W wersji 3.0.12, peer oferujący tylko Digest qop=auth-int powoduje pominięcie weryfikacji wzajemnego uwierzytelniania. AuthenticatorUtils.computeExpectedRspAuth nie zwraca oczekiwanej wartości dla auth-int, a Interceptors traktuje ten wynik jako niezweryfikowany, ale niekrytyczny, więc odpowiedź z nieprawidłową wartością rspauth jest akceptowana. Peer, który nie zna wspólnego sekretu, może zostać zaakceptowany jako uwierzytelniony serwer. Problem naprawiono w wersji 3.0.13.
Ocena ryzyka
Możliwość podszycia się pod serwer przez nieautoryzowanego peera, co może prowadzić do przechwycenia danych lub man-in-the-middle.
Rekomendacja
Zaktualizuj bibliotekę AsyncHttpClient do wersji 3.0.13.
Inne podatności w AsyncHttpClient
Zobacz wszystkie- CVE-2026-107281Wysokie
Biblioteka AsyncHttpClient (AHC) umożliwia aplikacjom Java łatwe wykonywanie żądań HTTP i asynchroniczne przetwarzanie odpowiedzi. Przed wersjami 3.0.13 i 2.16.1 klucz puli połączeń HTTP/1.1 nie uwzględnia uwierzytelnionego podmiotu dla uwierzytelniania NTLM i Negotiate zorientowanego na połączenie. Połączony gniazdo uwierzytelnione dla jednego żądania może być ponownie użyte przez żądanie z innym podmiotem, a serwer wykonuje to późniejsze żądanie jako pierwszą tożsamość. Basic i Digest nie są dotknięte, ponieważ uwierzytelniają każde żądanie. Problem naprawiono w wersjach 3.0.13 i 2.16.1.
- CVE-2026-107232Wysokie
Biblioteka AsyncHttpClient (AHC) umożliwia aplikacjom Java łatwe wykonywanie żądań HTTP i asynchroniczne przetwarzanie odpowiedzi. Przed wersjami 3.0.12 (na 3.x) i 2.16.1 (na 2.x), klient wnioskuje, że tunel proxy HTTP istnieje na podstawie ostatniej metody żądania, a nie wyniku CONNECT. Po odrzuceniu CONNECT przez proxy, handlery przekierowań lub uwierzytelniania mogą zapisać żądanie pochodzenia i jego poświadczenia Authorization na nadal jawnym połączeniu proxy. Podstawowe poświadczenia mogą być odzyskane bezpośrednio, a odpowiedzi NTLM mogą być złamane lub przekazane dalej. Problem naprawiono w wersjach 3.0.12 i 2.16.1.
- CVE-2026-107231Wysokie
Biblioteka AsyncHttpClient (AHC) umożliwia aplikacjom Java łatwe wykonywanie żądań HTTP i asynchroniczne przetwarzanie odpowiedzi. Przed wersjami 3.0.13 i 2.16.1, Realm.Builder traktuje wyzwanie Digest, które nie daje użytecznego nonce, jako wyzwanie Basic. Złośliwe źródło lub proxy może oznaczyć wyzwanie jako Digest, pomijając lub opróżniając nonce, co powoduje, że klient wysyła nazwę użytkownika i hasło przy użyciu odwracalnego uwierzytelniania Basic. Dotyczy to zarówno parserów wyzwań źródła, jak i proxy. Problem naprawiono w wersjach 3.0.13 i 2.16.1.
- CVE-2026-107230Wysokie
Biblioteka AsyncHttpClient (AHC) w wersjach od 2.0.0 do 3.0.14 nieprawidłowo dzieli pulę połączeń dla uwierzytelniania Kerberos, SPNEGO, NTLM oraz połączeń przez autoryzowany proxy. Brakujące pola identyfikujące tożsamość mogą pozwolić na ponowne użycie gniazda uwierzytelnionego jako inna tożsamość, co prowadzi do wykonania żądania w kontekście pierwszej tożsamości i ujawnienia jej danych lub uprawnień innemu wywołującemu. Problem został naprawiony w wersji 3.0.14.
- CVE-2026-107227Wysokie
Biblioteka AsyncHttpClient (AHC) w wersjach od 2.2.0 do 3.0.14 ma nieograniczoną dekompresję permessage-deflate w WebSocket, gdy kompresja jest włączona. Potok przychodzący agreguje skompresowane ramki przed ich inflacją przez WebSocketClientCompressionHandler, więc webSocketMaxFrameSize i webSocketMaxBufferSize nie ograniczają zdekompresowanego wyjścia. Złośliwy peer WebSocket może wysłać małą skompresowaną wiadomość, która rozszerza się do bardzo dużego bufora Netty i wyczerpuje stertę JVM. Problem został naprawiony w wersji 3.0.14.
- CVE-2026-107282Krytyczne
Podatność w bibliotece AsyncHttpClient (AHC) przed wersjami 3.0.13 i 2.16.1 umożliwia powtórne wysłanie żądania do innego hosta, ale pozostawia oryginalny cel i kontekst proxy. Może to spowodować wysłanie ścieżki, nagłówka Host, poświadczeń lub zwykłego tekstu do miejsca docelowego replikacji.
- 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.
Oryginalny opis (angielski, źródło NVD)
The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. In 3.0.12, a peer offering only Digest qop=auth-int causes mutual-authentication verification to be skipped. AuthenticatorUtils.computeExpectedRspAuth returns no expected value for auth-int, and Interceptors treats that result as unverifiable but nonfatal, so a response with an invalid rspauth value is accepted. A peer that does not know the shared secret can therefore be accepted as the authenticated server. This issue is fixed in version 3.0.13.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

