Skip to main content

AsyncHttpClient CVE-2026-107232

| EUVDEUVD-2026-94637 HIGH
Cleartext Transmission of Sensitive Information (CWE-319)
2026-10-07 GitHub_M
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Attacker controls or MITMs HTTP proxy
  2. Delivery
    Client sends CONNECT for origin tunnel
  3. Exploit
    Proxy rejects CONNECT with 401/302
  4. Execution
    Client writes origin request on plaintext socket
  5. Persist
    Authorization header leaked to proxy
  6. Impact
    Harvest Basic/NTLM credentials for reuse

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V12 - Secure Communication Transport encryption
Exploitation Conditions

Exploitable only when the victim application uses AsyncHttpClient (before 3.0.12 on 3.x or before 2.16.1 on 2.x) configured to send requests through an HTTP proxy AND the request carries credentials via redirect/authentication handling (Basic or NTLM Authorization). The trigger is a proxy that answers a CONNECT with something other than 200 (e.g., a 401, 407, or 302 rejection), after which the client incorrectly treats the socket as an established tunnel. Exploitation is LIMITED by: the attacker must control or have compromised the HTTP proxy or be able to MITM the client-to-proxy hop (a hostile or compromised proxy, not an arbitrary remote attacker); the application must actually route through a proxy (non-default for many deployments); and only confidentiality is affected (credential disclosure), with Basic recoverable directly and NTLM requiring cracking or relay.

Impact

The NVD CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N = 7.5 HIGH) describes a network-reachable, unauthenticated, confidentiality-only flaw, consistent with CWE-319 (cleartext transmission) and the description: origin credentials are written onto a still-plaintext proxy socket after a failed CONNECT. No EPSS score, no CISA KEV listing, and no public exploit were provided in the intelligence, so exploitation status is 'no public exploit identified at time of analysis.' The practical risk is narrower than the raw 7.5 implies: exploitation is not against a default internet-facing service but requires (a) the victim application to route AsyncHttpClient traffic through an HTTP proxy and (b) an attacker who controls or has compromised that proxy, or can MITM the client-to-proxy hop, so a CONNECT can be rejected and an origin request with Authorization solicited. This makes it a credible credential-theft issue for environments using AHC with proxies - especially with Basic or NTLM auth - but a targeted, position-dependent one rather than a mass-exploitable remote flaw. The commit diffs confirm the root cause and fix in detail, raising confidence the vulnerability is real; the main uncertainty is deployment exposure, not technical validity.

Exploit ScenarioDerived

A Java application uses AsyncHttpClient configured to reach origin servers through an HTTP proxy and sends requests carrying Authorization (Basic or NTLM) credentials. An attacker who controls or has compromised the proxy (or can intercept the client-to-proxy connection) rejects the CONNECT tunnel request and instead returns a 401 or 302; the client, believing a tunnel exists because the last method was CONNECT, rewrites the origin request and writes its Authorization header onto the still-plaintext proxy socket, where the attacker reads Basic credentials directly or captures NTLM responses for offline cracking or relay. No public proof-of-concept was provided in the intelligence.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 07, 2026

Cleartext credential disclosure in AsyncHttpClient (AHC) before 3.0.12 on the 3.x line and before 2.16.1 on the 2.x line causes a client configured to use an HTTP proxy to write the origin request and its Authorization credentials onto a still-plaintext proxy connection when the proxy rejects the CONNECT with anything other than 200, because the client infers an established tunnel from the last request method rather than the CONNECT result. Per the assessed vector (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N, 7.5 HIGH), this is an unauthenticated, confidentiality-only issue: Basic credentials can be recovered directly, while NTLM responses may be cracked or relayed. Exploitation is limited to environments where the victim application routes through an HTTP proxy and the attacker controls or can man-in-the-middle the client-to-proxy hop; no public exploit identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade to AsyncHttpClient 3.0.12 (3.x) or 2.16.1 (2.x) as documented in GHSA-v9f2-7rw2-gr2x and the release tags (https://github.com/AsyncHttpClient/async-http-client/releases/tag/async-http-client-project-3.0.12, https://github.com/AsyncHttpClient/async-http-client/releases/tag/async-http-client-project-2.16.1). Because remediation hinges on a code fix, there is no reliable configuration-only workaround; until upgrading, avoid routing requests through HTTP proxies you do not fully trust, avoid sending Basic or NTLM credentials through such proxies, and treat plaintext proxy hops as untrusted for credential transport. These compensating controls reduce exposure but do not fix the underlying logic that leaks credentials after a rejected CONNECT.

Affected VersionsENISA

async-http-client 2.0.0, < 2.16.1
async-http-client 3.0.0, < 3.0.12

Affected Packages

euvd async_http_client_2_0_0 fix: 2.16.1
euvd async_http_client_3_0_0 fix: 3.0.12

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

AsyncHttpClient (AHC) is a Java library built on Netty for asynchronous HTTP requests, and this CWE-319 cleartext transmission flaw arises in its proxy CONNECT handling. Prior to the fix, NettyResponseFuture and Interceptors.java determined tunnel state from the last request method (HttpMethod.CONNECT) rather than from a successful 200 response, so after a proxy rejected CONNECT with 401, 302, 407, or other non-200 statuses, origin-request interceptors could rebuild the exchange with setReuseChannel(true) and place the origin's Authorization header on a socket still terminated by the proxy in plaintext. The commit 3a625cb892233c0a6653ac68823a25ffbc80f393 introduces an explicit tunnelEstablished flag set only by ConnectSuccessInterceptor, restricts CONNECT handling in Interceptors.java to PROXY_AUTHENTICATION_REQUIRED_407 and OK_200, skips cookie storage on CONNECT, and adds a check in ProxyUnauthorized407Interceptor so a 407 from a non-HTTP proxy (e.g., SOCKS) is ignored. The CPE cpe:2.3:a:asynchttpclient:async-http-client:*:*:*:*:*:*:*:* covers all older releases on the 2.x and 3.x lines.

Know when Java gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 7.5 HIGH

Network-reachable credential leak with no auth or user interaction; a hostile proxy trivially rejects CONNECT (AC:L), and impact is confidentiality-only so I:N/A:N.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Red Hat 7.5 HIGH

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

2
Patch available
Oct 07, 2026 - 23:02 EUVD
CVE Published
Oct 07, 2026 - 21:09 cve.org
HIGH 7.5

DescriptionCVE.org

The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. Prior to 3.0.12 on 3.x and 2.16.1 on 2.x, the client infers that an HTTP proxy tunnel exists from the last request method rather than the CONNECT result. After a proxy rejects CONNECT, redirect or authentication handlers can write an origin request and its Authorization credentials onto the still-plaintext proxy connection. Basic credentials can be recovered directly, while NTLM responses may be cracked or relayed. This issue is fixed in versions 3.0.12 and 2.16.1.

Technical POC Analysis

CWE-319 (Cleartext Transmission of Sensitive Information), with the advisory also tagging CWE-441 (Confused Deputy) and CWE-522 (Insufficiently Protected Credentials).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

The AsyncHttpClient (AHC) Java library can write request credentials in cleartext to a proxy connection, potentially exposing the identities of internal services, integrations, and automated jobs built on AHC 3.x before 3.0.12 or 2.x before 2.16.1. Because the exposed Basic and NTLM credentials are directly reusable or crackable, the practical business risk is unauthorized access and lateral movement into downstream systems rather than disruption of the vulnerable application itself. Exploitation requires the organization to route affected traffic through an HTTP proxy and an adversary to control or intercept that client-to-proxy hop, and no public exploit was identified at time of analysis, but no vendor-released patch has been identified at time of analysis, so risk must be managed through configuration and detection in the near term.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: eliminate plaintext HTTP proxy usage for affected clients by enforcing HTTPS or TLS-protected proxy connections; avoid Basic and NTLM authentication on the client-to-proxy hop and prefer Kerberos or short-lived, narrowly scoped credentials; verify that proxies in scope return non-200 CONNECT responses that the client handles correctly and block or alert on outbound credential-bearing traffic to untrusted proxies; segment and monitor the client-to-proxy network path to reduce man-in-the-middle opportunity; rotate any Basic or NTLM credentials that may have traversed a plaintext proxy connection; and log proxy authentication failures for detection.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Medium
popular Java HTTP client library, but exposure limited to proxy deployments
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Medium
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy