Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIssue request as low-privilege identity
-
DeliveryHit AHC-backed service sharing a pool
-
ExploitReuse keep-alive socket authenticated as another identity
-
ExecutionRequest executes under victim's principal
-
ImpactExpose victim's data or authority
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Origin validation
|
| Exploitation Conditions | Requires the AHC connection pool to contain a reusable keep-alive socket whose authentication state is not reflected in the pool partition key. Concretely, the application must use one of: Kerberos, SPNEGO, NTLM, an authenticated proxy (proxy realm), or SOCKS/CONNECT proxy logins - and specifically the identity-ambiguous cases named in the advisory: logins without a configured principal, proxy realms, distinct identities sharing the same user name, and SOCKS/CONNECT proxy logins. LIMITING FACTORS: applications using only HTTP Basic/Digest, or a single identity/principal, are not affected; exploitation also depends on timing the reuse of an already-authenticated socket (AC:H) and on the application multiplexing multiple callers/identities over one AHC client instance. Default single-identity usage and non-GSS/non-proxy auth are not exploitable. |
| Impact | This is a credible but conditional information-disclosure/authentication-bypass issue (CWE-346, Origin Validation Error), not a mass-exploitation emergency. The CVSS 3.1 base score is 7.4 (High) with vector AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N: network reachable and requiring no privileges, but with high attack complexity (AC:H) because exploitation depends on a specific pooled-connection reuse race and non-default authentication configurations. No EPSS score was supplied in the input, and the CVE is NOT present in CISA KEV, so there is no evidence of active exploitation. No public exploit code was provided - only the vendor security advisory, the fixing commit, and the 3.0.14 release are referenced. The practical risk is therefore moderate and targeted rather than broad: the flaw only matters to Java applications that use AHC with Kerberos, SPNEGO, NTLM, or authenticated SOCKS/CONNECT proxies AND multiplex more than one identity (or anonymous plus authenticated callers) over a shared connection pool. One signal tension worth flagging: the CVSS marks PR:N (unauthenticated), yet the real attacker is typically a co-tenant/legitimate caller of the same AHC-backed application who opportunistically reuses a socket authenticated as another identity - PR:N is defensible because the reusing request itself presents no credentials, but defenders should read this as a cross-identity leak within a shared application, not a classic external-attacker RCE. Prioritize patching for multi-tenant gateways/proxies and SSO-integrated services; deprioritize for apps that use only Basic/Digest or a single identity. |
| Exploit ScenarioDerived | A multi-tenant Java service uses AsyncHttpClient with Kerberos/SPNEGO (or an authenticated CONNECT/SOCKS proxy) to make outbound requests on behalf of different users. Because the connection-pool key omits the identity, a request for user B is dispatched over a keep-alive socket that was already authenticated as user A, causing B's call to execute with A's identity and return or act on A's data and authority. No public proof-of-concept was provided; exploitation hinges on timing the pool reuse (AC:H) under a vulnerable auth configuration. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 07, 2026
Connection-pool key scoping in AsyncHttpClient (AHC) 2.0.0 through 3.0.13 omits identity-defining fields for Kerberos, SPNEGO, NTLM, authenticated proxy and SOCKS/CONNECT login paths, so a request can be handed a pooled keep-alive socket that was already authenticated as an entirely different identity and then execute under that first identity's credentials, exposing the other identity's data or authority. Reachability is conditional: the application must use Kerberos/SPNEGO/NTLM, an authenticated proxy realm, or SOCKS/CONNECT proxy logins, and specifically the ambiguous cases where login has no configured principal, where realms are proxy realms, where distinct identities share a user name, or where proxy logins are used - clients using only HTTP Basic/Digest or a single identity/principal are not affected. Rated CVSS 7.4 (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N, CWE-346 Origin Validation Error); exploitation depends on timing the reuse of an already-authenticated socket across multiplexed callers, and there is no public exploit identified at time of analysis and no CISA KEV listing. Vendor-released patch: 3.0.14.
RemediationAI
Upgrade AsyncHttpClient to 3.0.14 or later, which is the vendor-released patch and contains the PrincipalScopedPartitionKey rewrite that keys pool partitions on the complete authentication identity and uses anyHopAuthenticatesTheConnection; see the advisory at https://github.com/AsyncHttpClient/async-http-client/security/advisories/GHSA-v2j5-22fr-j62r and the release at https://github.com/AsyncHttpClient/async-http-client/releases/tag/async-http-client-project-3.0.14, with the upstream change at https://github.com/AsyncHttpClient/async-http-client/commit/d3bb4d68b41acf5d3ab7541afa9fdfe7ec3ba054. If immediate upgrade is not possible, reduce exposure by ensuring each authenticated identity uses its own AHC client instance rather than multiplexing multiple callers/identities over one pool - this costs additional sockets and connection setup latency, and closes the cross-identity socket-reuse path because there is no shared pool to mis-partition. Where identity-ambiguous GSS/proxy logins are configured, set an explicit principal per realm so the login identity is unambiguous, and avoid shared user names across distinct identities; note that this only removes the ambiguity and does not fix the underlying key scoping. Disabling connection keep-alive/pooling (forcing fresh connections per request) removes the reuse window but significantly increases latency and load on servers and proxies. If h2c negotiation is involved, disabling http2Cleartext avoids the HTTP/1.1 downgrade path the patch warns about, at the cost of losing cleartext HTTP/2. Deployments restricted to HTTP Basic/Digest or a single identity/principal do not exercise the vulnerable path and can be deprioritized for emergency change windows.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
AHC is a Java asynchronous HTTP client built on Netty, and it maintains per-connection pool partitions so that one reusable socket is not shared between logically distinct exchanges. Before the fix, the partition key was produced by PrincipalScopedPartitionKey.scope(future.getPartitionKey(), future.getRealm()) and the connection-authentication check was PrincipalScopedPartitionKey.authenticatesTheConnection(future.getRealm(), future.getProxyRealm()), which folded only the origin realm's principal into the key and left proxy-side and principal-less identities out of it. Per the commit d3bb4d68b41acf5d3ab7541afa9fdfe7ec3ba054, the class was refactored to carry an opaque hashed "identity" instead of a raw principal, to derive the key from the whole NettyResponseFuture via scope(NettyResponseFuture), and to replace the origin-only check with anyHopAuthenticatesTheConnection(future), which considers the proxy realm, proxy server, SOCKS/CONNECT login and per-connection proxy hop rather than just the origin. Identity values are folded in via a ThreadLocal SHA-256 MessageDigest, sorting fields with a TreeMap and hashing with ByteBufUtil, because scope() runs on the event loop for every poll and offer. The root cause is CWE-346 (Origin Validation Error): the pool partitioning failed to validate/bind the identity that actually authenticated the socket, so NettyConnectListener and ChannelManager could drainChannelAndOffer an authenticated connection to a future belonging to a different identity. Affected CPE lineage is cpe:2.3:a:asynchttpclient:async-http-client:*:*:*:*:*:*:*:* - all releases from 2.0.0 until the 3.0.14 fix.
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
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
AV:N and PR:N because the reusing request needs no credentials; AC:H due to the required pooled-socket reuse race and non-default GSS/proxy auth; C:H/I:H as the victim's identity data and authority are exposed, A:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. From 2.0.0 until 3.0.14, connection-pool partitioning still omits identity-defining fields for Kerberos, SPNEGO, NTLM, and authenticated proxy connections. Logins without a configured principal, proxy realms, identities sharing a user name, and SOCKS or CONNECT proxy logins can reuse a socket authenticated as a different identity. A later request is then executed under the first identity and can expose that identity's data or authority to another caller. In the affected execution path, SpnegoEngine, NTLM, Kerberos, SPNEGO, SOCKS, and CONNECT control or expose the vulnerable behavior. This issue is fixed in version 3.0.14.
Blast Radius
ecosystem impact- 24 maven packages depend on org.asynchttpclient:async-http-client (15 direct, 9 indirect)
Ecosystem-wide dependent count for version 3.0.0.
Articles & Coverage 1
Technical POC Analysis
Evidence base: GitHub advisory GHSA-v2j5-22fr-j62r only.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A connection-pooling flaw in AsyncHttpClient (AHC) versions 2.0.0 through 3.0.13 can cause a request to reuse a keep-alive socket that was already authenticated as a different user, allowing one identity to act with another's credentials and exposing data or authority it should never reach. Only systems that rely on Kerberos, SPNEGO, NTLM, authenticated proxy realms, or SOCKS/CONNECT proxy logins are exposed, and only in ambiguous configurations such as shared usernames, proxy realms, or logins without an explicit principal; deployments using Basic/Digest authentication or a single identity are not affected. Because no vendor patch is currently available, leadership should treat any affected multi-tenant or privileged service as an identity-isolation risk requiring interim containment.
No vendor-released patch identified at time of analysis. Interim mitigations: disable connection pooling and keep-alive socket reuse for clients using Kerberos/SPNEGO/NTLM, authenticated proxy realms, or SOCKS/CONNECT logins; use a dedicated client instance per identity; require explicit principals for negotiated authentication; avoid shared usernames across distinct identities and avoid proxy-realm logins where possible; rotate credentials that may have been exposed; monitor authentication and access logs for cross-identity activity.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
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
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
EUVD-2026-94635
GHSA-v2j5-22fr-j62r
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB