AsyncHttpClient: Unbounded HTTP/1.1 response decompression enables a decompression-bomb denial of service
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-400.
Summary
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, automatic response decompression on the HTTP/1.1 path uses ChannelManager.newHttpContentDecompressor() to install Http1ContentDecompressor without a cumulative output-size limit. A hostile or compromised server, or an attacker who can alter a response in transit, can send a small gzip, deflate, or snappy response that expands across chunks until the client exhausts its heap and raises OutOfMemoryError; brotli and zstd are also affected when their optional codecs are present. In versions 3.0.8 through 3.0.10, the HTTP/2 decompressor is also unbounded, so switching protocols does not mitigate the issue on those releases. A limit applied to each decode call is insufficient because the response can be delivered as many small chunks, so the fixed implementation tracks total decompressed bytes for the whole response. This issue is fixed in versions 2.16.1 and 3.0.12.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| AsyncHttpClient | async-http-client | 2.0.0 to before 2.16.1; 3.0.0 to before 3.0.12 | 2.16.1, 3.0.12 | Patch available | CNA |
| — | org.asynchttpclient:async-http-client (Maven) | 3.0.0 to before 3.0.12 | 3.0.12 | Patch available | GHSA-7grg-jcf7-rpmx |
| — | org.asynchttpclient:async-http-client (Maven) | 2.0.0 to before 2.16.1 | 2.16.1 | Patch available | GHSA-7grg-jcf7-rpmx |
- async-http-client VendorAsyncHttpClient Affected 2.0.0 to before 2.16.1; 3.0.0 to before 3.0.12 Fixed in 2.16.1, 3.0.12 Patch available CNA
- org.asynchttpclient:async-http-client (Maven) Vendor— Affected 3.0.0 to before 3.0.12 Fixed in 3.0.12 Patch available GHSA-7grg-jcf7-rpmx
- org.asynchttpclient:async-http-client (Maven) Vendor— Affected 2.0.0 to before 2.16.1 Fixed in 2.16.1 Patch available GHSA-7grg-jcf7-rpmx
Remediation
- Fix · CNA async-http-client (AsyncHttpClient) Fixed in 2.16.1, 3.0.12
- Fix · GHSA-7grg-jcf7-rpmx org.asynchttpclient:async-http-client (Maven) Fixed in 3.0.12 Advisory →
- Fix · GHSA-7grg-jcf7-rpmx org.asynchttpclient:async-http-client (Maven) Fixed in 2.16.1 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
Not affected: 1 product
- Red Hat Fuse 7
Timeline
- 2026-10-02 Threatist record created from CVE-2026-85721
- 2026-10-03 Alias added: GHSA-7grg-jcf7-rpmx
- 2026-10-28 EPSS moved to the 50th–90th percentile
References
Other 6
- https://github.com/AsyncHttpClient/async-http-client/security/advisories/GHSA-7grg-jcf7-rpmx
- https://github.com/AsyncHttpClient/async-http-client/commit/5ee2841cbf268bba4a200578be3938ccfc6cc6d6
- https://github.com/AsyncHttpClient/async-http-client/commit/663a1a91757904b22cfe37e2e6049f1f8ea6ae59
- https://github.com/AsyncHttpClient/async-http-client/commit/e1871a19972fb496be1b8ac6be11d79e22ff2162
- https://github.com/AsyncHttpClient/async-http-client/commit/e9f2f7423e0f6503f529656f2955a1317e56ba14
- https://github.com/AsyncHttpClient/async-http-client
More AsyncHttpClient vulnerabilities
- TI-2024-36149 AsyncHttpClient (AHC) library's `CookieStore` replaces explicitly defined `Cookie`s CVSS 4.0CRITICAL 9.2
- TI-2026-69321 Cross-host replay in AsyncHttpClient leaks credentials to new host CVSS 4.0CRITICAL 9.4
- TI-2026-69315 AsyncHttpClient sends passwords in cleartext after Digest downgrade CVSS 4.0HIGH 8.7
- TI-2026-69311 Unbounded WebSocket decompression in AsyncHttpClient enables DoS CVSS 3.1HIGH 7.5
- TI-2026-58823 AsyncHttpClient: SOCKS proxy credentials sent to the origin server over plaintext HTTP CVSS 3.1HIGH 7.5
- TI-2026-69317 AsyncHttpClient skips Digest mutual authentication for qop=auth-int CVSS 4.0HIGH 8.8
Sources
- CVE-2026-85721 · CVE Program
- CVE-2026-85721 · NVD
- FIRST EPSS
- GHSA-7grg-jcf7-rpmx · GitHub Advisory Database · CC BY 4.0
- CVE-2026-85721 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences