Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLure AHC client to attacker-controlled server
-
ExploitReturn Digest challenge offering only qop=auth-int
-
ExecutionClient skips rspauth mutual verification
-
ImpactRogue server accepted as authenticated peer
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication algorithm review
|
| Exploitation Conditions | Exploitation requires that the victim Java application uses AsyncHttpClient's Digest authentication (a Realm configured with credentials) and relies on mutual authentication, AND that the peer/server presents a Digest challenge advertising qop="auth-int" as its only quality-of-protection option. The flaw does NOT trigger when the server offers 'auth' or 'auth,auth-int', because AHC prefers 'auth' and verifies its rspauth. The attacker must be able to serve or MITM the HTTP response seen by the client (a rogue server the client connects to, or on-path interception rewriting WWW-Authenticate). Key limiting factors: Digest mutual authentication is an uncommon deployment choice and an auth-int-only challenge is atypical of legitimate servers; no user interaction and no attacker credentials are needed. Affected in 3.0.12; fixed in 3.0.13. |
| Impact | The input CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:N, score 8.8) describes a network-reachable, unauthenticated, no-interaction flaw whose primary impact is integrity (VI:H) with limited confidentiality exposure (VC:L) and no availability impact - consistent with server impersonation rather than data theft, which makes the 'Information Disclosure' tag a weak fit. No EPSS score, no CISA KEV listing, and no public exploit were provided; the only public code is the upstream fix commit, so exploitation status is 'no public exploit identified at time of analysis.' No SSVC decision data was supplied. These signals conflict with the headline severity: the raw score implies easy remote compromise, but real-world risk is gated by an uncommon precondition - the victim application must use AHC Digest mutual authentication AND the peer must advertise qop=auth-int as its only option (an 'auth,auth-int' challenge is NOT affected because 'auth' is preferred and its rspauth is verified). The attacker is a rogue or MITM-positioned server, not an unprivileged user attacking a listening service. Net: a genuine but conditional authentication-bypass/integrity issue - patch promptly where AHC Digest mutual auth is in use, but absent EPSS/KEV/POC evidence it is not a mass-exploitable, drop-everything vulnerability. |
| Exploit ScenarioDerived | A Java application using AsyncHttpClient 3.0.12 connects to an endpoint with Digest mutual authentication configured. An attacker operating that endpoint (or MITM-rewriting the challenge) returns a Digest WWW-Authenticate header offering only qop=auth-int; AHC computes no expected rspauth, treats the result as unverifiable-but-nonfatal, and accepts an invalid rspauth, so the attacker is trusted as the authenticated server without knowing the shared secret. No public exploit code is identified - only the upstream fix commit is published. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 07, 2026
Digest mutual-authentication bypass in AsyncHttpClient (AHC) 3.0.12 allows a rogue or on-path peer to be accepted as the authenticated server: when a Digest challenge advertises qop="auth-int" as the only supported quality-of-protection, the client negotiates it but cannot compute the expected rspauth, treats that as unverifiable-but-nonfatal, and accepts a response whose rspauth value is invalid. The flaw is network-reachable, unauthenticated and requires no user interaction (CVSS 4.0 AV:N/AC:L/PR:N/UI:N, 8.8), with the primary impact on integrity (VI:H) consistent with server impersonation rather than the data theft implied by the 'Information Disclosure' tag. It only affects applications that use AHC's Digest Realm with mutual authentication and connect to a peer offering an auth-int-only challenge; deployments where the server offers 'auth' or 'auth,auth-int' are unaffected because AHC prefers and verifies 'auth'. No public exploit code and no confirmed active exploitation were identified at time of analysis; the vendor-released patch is version 3.0.13.
RemediationAI
Upgrade AsyncHttpClient to version 3.0.13, which is the vendor-released patch; it stops negotiating qop=auth-int at all, so an auth-int-only challenge is answered with HTTP 401 instead of a silently unverified exchange (see GHSA-qhv6-3pmh-95q4 and the 3.0.13 release tag). If immediate upgrade is not possible, ensure the peers your client trusts never advertise an auth-int-only Digest challenge - an 'auth' or 'auth,auth-int' challenge is safe because AHC prefers and verifies 'auth' - and do not treat Digest mutual authentication as a transport-security control: terminate requests over TLS with strict server certificate validation (or certificate pinning where feasible) so that a rogue server or on-path attacker able to rewrite WWW-Authenticate cannot present an auth-int-only challenge in the first place. The trade-off to accept with the 3.0.13 fix is interoperability: a legitimate server that supports only qop=auth-int can no longer be mutually authenticated against, so inventory internal services advertising auth-int-only before rolling the upgrade out.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in 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 library for asynchronous HTTP request execution, and the affected code path is its HTTP Digest authentication implementation (RFC 7616). Digest's qop=auth-int quality-of-protection requires the server's rspauth value to be computed over the response entity-body (A2 = ":" request-uri ":" H(entity-body)), but AHC processes the Authentication-Info header, and therefore AuthenticatorUtils.computeExpectedRspAuth, before the response body has been read. For auth-int the method returns no expected value, and the Interceptors layer classified that outcome as 'unverifiable but nonfatal', delivering the response instead of aborting - so a peer that does not know the shared secret could be accepted as the authenticated server. The root cause class is CWE-303 (Incorrect Implementation of Authentication Algorithm): the protocol's mutual-authentication check was silently downgraded to a no-op rather than being enforced or the mode refused. The upstream fix removes auth-int from the negotiated qop list entirely, with the explicit rationale that letting the peer choose a mode whose rspauth cannot be verified hands the attacker a one-word switch to disable mutual authentication; the accompanying tests assert that an auth-int-only challenge is no longer answered (HTTP 401) while 'auth,auth-int' still negotiates and verifies 'auth'. Note the accepted interoperability cost: a legitimately conformant server that offers only auth-int can no longer be mutually authenticated against.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N
Attacker is an unauthenticated rogue/MITM server (PR:N) reachable over the network (AV:N); impact is server impersonation defeating mutual auth, so I:H with limited C:L and no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
DescriptionCVE.org
The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. In 3.0.12, a peer offering only Digest qop=auth-int causes mutual-authentication verification to be skipped. AuthenticatorUtils.computeExpectedRspAuth returns no expected value for auth-int, and Interceptors treats that result as unverifiable but nonfatal, so a response with an invalid rspauth value is accepted. A peer that does not know the shared secret can therefore be accepted as the authenticated server. This issue is fixed in version 3.0.13.
Articles & Coverage 1
Technical POC Analysis
CWE-303 (Incorrect Implementation of Authentication Algorithm), with the advisory also tagging CWE-757 (algorithm downgrade during negotiation).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
AsyncHttpClient 3.0.12, a widely embedded Java HTTP client library, contains a mutual-authentication bypass that allows a rogue or on-path network peer to be accepted as the trusted server by any application configured to use its Digest Realm with mutual authentication against a peer that offers an auth-int-only challenge. The failure undermines the integrity of server-to-server communications, meaning affected integrations may silently transact with an impersonated endpoint rather than the intended service. Leadership should note that no vendor-released patch is available and that the exposure is limited to a specific Digest configuration, so rapid identification of affected applications and coordination with the teams operating their peer servers is the primary path to risk reduction.
No vendor-released patch identified at time of analysis. Interim mitigations: reconfigure peer servers to advertise qop='auth' or 'auth,auth-int' (AHC prefers and verifies 'auth', which is unaffected), disable the mutual-authentication requirement in AHC Digest Realm configurations, substitute certificate-bound server verification, and restrict network access to affected peers to reduce the on-path/rogue-peer attack surface.
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-94638
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB