Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker controls origin/proxy or MITMs response
-
DeliveryClient sends authenticated request
-
ExploitReturn Digest challenge with empty nonce
-
ExecutionClient downgrades to Basic auth
-
PersistCredentials resent Base64-encoded
-
ImpactAttacker decodes cleartext username/password
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V12 - Secure Communication Transport encryption
|
| Exploitation Conditions | Requires (1) the application to use AsyncHttpClient prior to 3.0.13 (3.x) or 2.16.1 (2.x) with HTTP credentials configured via Realm.Builder, and (2) the client to send an authenticated request to an origin server or proxy that the attacker controls, has compromised, or can tamper with in transit. The attacker must return a WWW-Authenticate or Proxy-Authenticate header labeled 'Digest' while omitting or emptying the nonce parameter, which triggers the downgrade to Basic. Limiting factors: no effect on applications that do not configure credentials; the attacker must be able to supply or modify the authentication challenge (malicious/compromised endpoint or an active network MITM position), so it is not exploitable against arbitrary clients without that server/proxy control. |
| Impact | This is a credential-disclosure flaw (CWE-319) in the AsyncHttpClient Java library where a Digest WWW-Authenticate/Proxy-Authenticate challenge with an omitted or empty nonce is silently downgraded to Basic, causing the client to resend the configured username and password using reversible Base64 encoding. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H) scores 8.7 (High) and is internally consistent with the mechanism: confidentiality-only impact (VC:H, VI:N, VA:N), no attacker privileges, and no user interaction. However, the CVSS 'network, no-privileges' framing understates a real precondition - exploitation requires the victim application to (a) be configured with credentials in Realm.Builder and (b) direct an authenticated request to an origin or proxy the attacker controls or can tamper with in transit. This is effectively a malicious-server / MITM capability rather than a drive-by remote exploit, so the practical attacker position is more demanding than PR:N alone suggests. No EPSS score, CISA KEV listing, or POC was provided in the input; per precision rules, there is no public exploit identified at time of analysis. The source-code diff and fixed-release tags confirm the root cause and remediation, so this is a legitimate, well-substantiated issue to patch, but absent active-exploitation signals it should be prioritized as a dependency hygiene / supply-chain credential-hardening fix rather than an emergency. |
| Exploit ScenarioDerived | A Java application built on AsyncHttpClient is configured with HTTP credentials and makes an authenticated request to an endpoint (or through a proxy) that an attacker controls or can intercept. The attacker returns a challenge labeled 'Digest' but with no usable nonce; the client downgrades to Basic and transmits the username and password Base64-encoded, which the attacker trivially decodes to cleartext. No public exploit code was identified in the provided data, but the technique is simple to reproduce for anyone controlling the response headers. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 07, 2026
Credential disclosure in the AsyncHttpClient (AHC) Java library allows a malicious or compromised origin server or proxy to capture plaintext-recoverable usernames and passwords from applications that configure HTTP credentials via Realm.Builder. When the attacker returns a WWW-Authenticate or Proxy-Authenticate challenge labeled 'Digest' but with the nonce parameter omitted or empty, versions prior to 3.0.13 (3.x) and 2.16.1 (2.x) silently fall back to Basic authentication and resend the credentials in reversible Base64, defeating the entire purpose of Digest. Exploitation is unauthenticated from the network (CVSS v4.0 8.7, AV:N/PR:N, independent assessment CVSS v3.1 C:H/I:N/A:N), but requires the attacker to control or tamper with the authentication challenge, so it is not exploitable against arbitrary endpoints; no public exploit code or CISA KEV entry was identified at time of analysis.
RemediationAI
Upgrade to the vendor-released fixed versions: AsyncHttpClient 3.0.13 for the 3.x line or 2.16.1 for the 2.x line, as documented in the GitHub Security Advisory GHSA-rqf5-2wxv-rjf4 and the corresponding release tags. The fix is delivered by upstream commits 8376866aa9b5a7653ad19db9d472692f875caa83 and c8d639bf6ac341d377d610a93570bcd15565f1a6; deployments pinned to an untagged branch should cherry-pick the challengedScheme() logic in Realm.Builder, which keeps an announced Digest challenge as Digest even when no nonce parses, producing no Authorization header and a failed request rather than a cleartext Basic leak. Where upgrading is not immediately possible, the practical compensating controls are to stop configuring credentials via Realm.Builder for requests to origins or proxies that are not fully trusted, since the flaw only triggers when the client answers an attacker-influenced Digest challenge; enforce strict TLS server certificate validation (and certificate pinning where operationally feasible) to deny an active network man-in-the-middle the ability to inject the malicious challenge, accepting the added certificate-rotation maintenance burden; and, for proxy deployments, restrict the client to a known proxy endpoint so an attacker cannot substitute a Proxy-Authenticate response. Note that these mitigations reduce exposure but do not remove the faulty downgrade behavior itself, so patching remains the only complete fix; applications that never configure HTTP credentials are not affected and need no action.
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
The flaw lives in the HTTP authentication challenge parsing logic of org.asynchttpclient.Realm.Builder, specifically parseWWWAuthenticateHeader and parseProxyAuthenticateHeader. Both methods previously selected the authentication scheme with the expression isNonEmpty(nonce) ? AuthScheme.DIGEST : AuthScheme.BASIC, meaning the scheme was inferred from whether the parser extracted a usable nonce rather than from the scheme token the server actually declared. An attacker who labels a challenge 'Digest' while omitting or emptying the nonce therefore causes the client to classify it as Basic, and because Basic authentication transmits Base64-encoded credentials that are trivially reversible, the configured username and password are disclosed over the wire. This is CWE-319 (Cleartext Transmission of Sensitive Information): Digest exists precisely to avoid putting the password on the wire by using a challenge-response nonce, and the downgrade hands over exactly what the honest Digest path withholds. The fix introduces a challengedScheme() helper that keeps the announced scheme when the header line begins with 'Digest' regardless of nonce presence, so an unreadable Digest challenge yields no Authorization header at all and the request simply fails instead of leaking. The same commit hardens quoted-string parsing (escape handling and endOfQuotedString bounds checks, adapted from Apache HttpComponents Core) so that realms containing unescaped backslashes such as DOMAIN\Users are not corrupted. Both the origin and the proxy challenge parsers were affected, and the patch adds regression tests covering no-nonce Digest, proxy Digest, and a genuine Basic challenge that must remain Basic. The affected component is Java library org.asynchttpclient:async-http-client, tracked in CPE as cpe:2.3:a:asynchttpclient:async-http-client:*:*:*:*:*:*:*:*.
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:H/VI:N/VA:N/SC:N/SI:N/SA:N
Attacker controls the responding origin/proxy so no privileges or user interaction are needed over the network at low complexity; only credential confidentiality is lost, with no integrity or availability impact.
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. Prior to 3.0.13 and 2.16.1, Realm.Builder treats a Digest challenge that yields no usable nonce as a Basic challenge. A malicious origin or proxy can label a challenge Digest while omitting or emptying the nonce, causing the client to resend the username and password using reversible Basic authentication. Both origin and proxy challenge parsers are affected. This issue is fixed in versions 3.0.13 and 2.16.1.
Blast Radius
ecosystem impact- 5 maven packages depend on org.asynchttpclient:async-http-client (1 direct, 4 indirect)
Ecosystem-wide dependent count for version 3.0.0.Beta1.
Articles & Coverage 1
Technical POC Analysis
No runnable PoC is present in the supplied evidence, and no patch diff (hunk-level) is included.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
The AsyncHttpClient Java library (versions prior to 3.0.13 and 2.16.1) contains a credential disclosure vulnerability that allows a malicious or compromised server or proxy to capture usernames and passwords when applications use Digest authentication via Realm.Builder. This flaw could expose sensitive credentials, leading to unauthorized access and potential data breaches. Leadership should prioritize remediation because affected applications may be widespread in enterprise environments, and the vulnerability is rated HIGH severity with an unauthenticated network attack vector.
No vendor-released patch identified at time of analysis. Interim mitigations include discontinuing use of Digest authentication via Realm.Builder until patched, or implementing strict validation of authentication challenges to prevent fallback to Basic authentication.
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-94636
GHSA-rqf5-2wxv-rjf4
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB