AsyncHttpClient: Origin credentials sent to the proxy on the plaintext CONNECT request
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- High
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Partial Red Hat: 1 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-319.
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, 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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- 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-xr57-gcx8-52hf |
| — | org.asynchttpclient:async-http-client (Maven) | 2.0.0 to before 2.16.1 | 2.16.1 | Patch available | GHSA-xr57-gcx8-52hf |
- 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-xr57-gcx8-52hf
- org.asynchttpclient:async-http-client (Maven) Vendor— Affected 2.0.0 to before 2.16.1 Fixed in 2.16.1 Patch available GHSA-xr57-gcx8-52hf
Remediation
- Fix · CNA async-http-client (AsyncHttpClient) Fixed in 2.16.1, 3.0.12
- Fix · GHSA-xr57-gcx8-52hf org.asynchttpclient:async-http-client (Maven) Fixed in 3.0.12 Advisory →
- Fix · GHSA-xr57-gcx8-52hf org.asynchttpclient:async-http-client (Maven) Fixed in 2.16.1 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Fuse 7 | Affected | No fix planned: Out of support scope |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-85720
- 2026-10-03 Alias added: GHSA-xr57-gcx8-52hf
- 2026-11-04 Affected versions changed · Red Hat
- 2026-11-04 CVSS score added · Red Hat
References
Other 5
- https://github.com/AsyncHttpClient/async-http-client/security/advisories/GHSA-xr57-gcx8-52hf
- https://github.com/AsyncHttpClient/async-http-client/pull/2234
- https://github.com/AsyncHttpClient/async-http-client/commit/9dba5ac988b7e750551f59b2eab550b60ac8a0d6
- https://github.com/AsyncHttpClient/async-http-client/commit/d07dbc79f5cf378f63c246f6101d7579ace55acc
- 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-58825 AsyncHttpClient: Unbounded HTTP/1.1 response decompression enables a decompression-bomb denial of service CVSS 3.1HIGH 7.5
- 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
Sources
- CVE-2026-85720 · CVE Program
- CVE-2026-85720 · NVD
- FIRST EPSS
- GHSA-xr57-gcx8-52hf · GitHub Advisory Database · CC BY 4.0
- CVE-2026-85720 · 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