CVE-2026-107227
WysokieCVSS 7.5Streszczenie
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.
Ocena ryzyka
Organizacja może być narażona na atak DoS poprzez wyczerpanie pamięci JVM w aplikacjach korzystających z AHC, co może prowadzić do niedostępności usług.
Rekomendacja
Należy zaktualizować bibliotekę AsyncHttpClient do wersji 3.0.14 lub nowszej oraz rozważyć ograniczenie rozmiaru ramek WebSocket na poziomie aplikacji.
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-107279Wysokie
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.
- 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-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. From 2.2.0 until 3.0.14, WebSocket permessage-deflate decompression is unbounded when compression is enabled. The inbound pipeline aggregates compressed frames before WebSocketClientCompressionHandler inflates them, so webSocketMaxFrameSize and webSocketMaxBufferSize do not bound decompressed output. A malicious WebSocket peer can send a small compressed message that expands to a very large Netty buffer and exhausts JVM heap. This issue is fixed in version 3.0.14.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

