Description
The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. From 3.0.8 until 3.0.12, processScramAuthenticationInfo and processAuthenticationInfo compute the SCRAM ServerSignature or Digest rspauth verification result but log a mismatch and still deliver the response as authenticated. On a non-TLS or compromised transport, a peer that has not proved knowledge of the shared secret can therefore be accepted as the server. The fix rejects a present invalid value and computes Digest rspauth from the Authorization parameters actually sent, but verification remains unenforced when the value is absent, the sent parameters cannot be recovered, or Digest uses qop=auth-int. This issue is fixed in version 3.0.12.
Published: 2026-09-17
Score: 3.7 Low
EPSS: < 1% Very Low
KEV: No
Impact: Authentication bypass on non‑TLS connections
Action: Immediate patch
AI Analysis

Impact

The vulnerability occurs in the AsyncHttpClient library, where SCRAM and Digest authentication responses are not properly verified. When the SCRAM ServerSignature or Digest rspauth verification matches a logged mismatch, the library still delivers the response as authenticated. This results in a form of authentication bypass, allowing an attacker to impersonate a server without knowledge of the shared secret. The weakness is represented by CWE‑287 (Improper Authentication), CWE‑347 (Improper Verification for Mutual Authentication), and CWE‑390 (Check for Error Conditions without Action).

Affected Systems

Affected products are Java applications that use AsyncHttpClient versions 3.0.8 through 3.0.12. The issue is present in all Java projects incorporating this library within that version range. No other vendors or products are listed.

Risk and Exploitability

The CVSS score of 3.7 reflects a low‑to‑moderate severity, and the EPSS score of less than 1% indicates a very low likelihood of exploitation as of the current data. The vulnerability is not listed in CISA’s KEV catalog. An attacker can exploit the flaw if an application relies on non‑TLS or compromised transport layers, enabling impersonation of the server. The problem manifests only when SCRAM or Digest authentication is activated; consequently, the attack vector requires an application using these authentication methods on insecure connections.

Generated by OpenCVE AI on September 24, 2026 at 01:42 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade AsyncHttpClient to version 3.0.12 or newer.
  • If an immediate upgrade is not possible, disable SCRAM and Digest authentication for non‑TLS connections or enforce TLS end‑to‑end security.
  • Verify that the HTTP client configuration requires certificate validation and avoids clear text transport for any authenticated requests.

Generated by OpenCVE AI on September 24, 2026 at 01:42 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-fj9w-c36g-h5x8 AsyncHttpClient doesn't verify SCRAM and Digest mutual-authentication responses
History

Thu, 24 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-347
References
Metrics threat_severity

None

threat_severity

Low


Sun, 20 Sep 2026 03:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 18 Sep 2026 21:30:00 +0000

Type Values Removed Values Added
First Time appeared Asynchttpclient Project
Asynchttpclient Project async-http-client
Vendors & Products Asynchttpclient Project
Asynchttpclient Project async-http-client

Thu, 17 Sep 2026 16:45:00 +0000

Type Values Removed Values Added
Description The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. From 3.0.8 until 3.0.12, processScramAuthenticationInfo and processAuthenticationInfo compute the SCRAM ServerSignature or Digest rspauth verification result but log a mismatch and still deliver the response as authenticated. On a non-TLS or compromised transport, a peer that has not proved knowledge of the shared secret can therefore be accepted as the server. The fix rejects a present invalid value and computes Digest rspauth from the Authorization parameters actually sent, but verification remains unenforced when the value is absent, the sent parameters cannot be recovered, or Digest uses qop=auth-int. This issue is fixed in version 3.0.12.
Title AsyncHttpClient: SCRAM and Digest mutual-authentication responses are not verified
Weaknesses CWE-287
CWE-390
References
Metrics cvssV3_1

{'score': 3.7, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N'}


Subscriptions

Asynchttpclient Project Async-http-client
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-18T14:44:54.072Z

Reserved: 2026-09-04T14:45:10.648Z

Link: CVE-2026-85716

cve-icon Vulnrichment

Updated: 2026-09-18T14:36:36.658Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-17T17:16:50.943

Modified: 2026-09-24T21:16:28.120

Link: CVE-2026-85716

cve-icon Redhat

Severity : Low

Publid Date: 2026-09-17T16:23:27Z

Links: CVE-2026-85716 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-24T01:45:13Z

Weaknesses
  • CWE-287

    Improper Authentication

  • CWE-347

    Improper Verification of Cryptographic Signature

  • CWE-390

    Detection of Error Condition Without Action