Skip to main content

AsyncHttpClient CVE-2026-107283

| EUVDEUVD-2026-94643 LOW
Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) (CWE-338)
2026-10-07 GitHub_M GHSA-mfj3-87qq-382v
3.7
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Observe HTTP Digest auth exchanges
  2. Exploit
    Infer ThreadLocalRandom generator state
  3. Execution
    Predict client cnonce values
  4. Impact
    Precompute/chosen-plaintext against Digest auth

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Cryptographic PRNG selection
Exploitation Conditions

Exploitation requires that the Java application use AsyncHttpClient's HTTP Digest authentication via Realm.Builder (affected versions prior to 3.0.12 and 2.16.1), where the client nonce (cnonce) is generated with ThreadLocalRandom. The attacker must be able to observe the Digest authentication exchanges and infer the non-cryptographic generator's state to predict cnonce values. Limiting factors: applications not using Digest auth are unaffected; the attack is statistical and high-complexity (AC:H) rather than a direct exploit, requires passive observation of multiple exchanges, and only reduces the strength of the authentication exchange (partial confidentiality) rather than granting direct access.

Impact

This is a genuinely low-priority issue despite being a real cryptographic weakness. The CVSS base score of 3.7 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N) is consistent with the description: exploitation requires high attack complexity (AC:H) because an attacker must observe Digest exchanges and infer the state of a non-cryptographic PRNG (ThreadLocalRandom), and the impact is limited to partial confidentiality (C:L) with no integrity or availability impact. CWE-338 (use of a cryptographically weak PRNG) matches the root cause confirmed in the fix commit, which swaps ThreadLocalRandom for SecureRandom. No EPSS score was provided in the input, so exploitation probability cannot be quantified. There is no CISA KEV listing and no public exploit code identified - the GitHub links are the vendor advisory, fix commits, and release tags, not a POC. The AV:N vector reflects that the HTTP exchange is network-observable, but practical exploitation is heavily constrained: it only matters for applications actually using HTTP Digest authentication (itself uncommon), and the attack is theoretical/statistical rather than a direct code path. Net assessment: a legitimate defense-in-depth fix, but low real-world risk and not an urgent patching priority relative to higher-severity issues.

Exploit ScenarioDerived

An attacker positioned to observe an application's outbound HTTP Digest authentication exchanges collects multiple client nonce (cnonce) values and uses knowledge of ThreadLocalRandom's predictable internal state to narrow or predict future cnonce values. With predictable cnonces, the attacker can mount chosen-plaintext or credential-precomputation attacks against the Digest exchange, weakening the authentication's resistance. No public exploit code was identified at time of analysis, and the attack requires high complexity to infer the generator state.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 07, 2026

HTTP Digest authentication in AsyncHttpClient (Java) prior to 3.0.12 and 2.16.1 derives the client nonce (cnonce) from ThreadLocalRandom rather than a cryptographically secure source, weakening the Digest exchange against chosen-plaintext and credential-precomputation attacks for an observer who can infer generator state. The issue is rated CVSS 3.7 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N), so per the assessed vector no authentication is required from a remote attacker, but exploitation is statistical and high-complexity rather than a direct exploit. Only applications that use AsyncHttpClient's Digest auth via Realm.Builder are affected; no public exploit identified at time of analysis and no confirmed active exploitation (CISA KEV is not indicated).

RemediationAI

Vendor-released patch: upgrade to AsyncHttpClient 3.0.12 (3.x line) or 2.16.1 (2.x line), which replace ThreadLocalRandom-based cnonce generation with a ThreadLocal<SecureRandom> per RFC 7616 section 3.3; see advisory GHSA-mfj3-87qq-382v and the release tags. If upgrading cannot be done immediately, avoid Digest authentication in Realm.Builder and use an alternative scheme such as Bearer tokens or Basic over TLS - the trade-off is that Basic sends credentials on each request (mitigated only by TLS) and Digest's password-not-on-wire property is lost, while disabling Digest auth outright removes exposure but may break interoperability with Digest-only servers. There is no viable client-side configuration workaround that fixes the weak cnonce without the patch, and because only passive observation of multiple Digest exchanges combined with generator-state inference makes this high-complexity and low-impact, remediation can be handled in routine patch cycles rather than as an emergency.

Affected VersionsENISA

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

Affected Packages

maven org.asynchttpclient:async-http-client fix: 2.16.1, 3.0.12
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 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

HTTP Digest authentication (RFC 7616, formerly RFC 2617) depends on an unpredictable client nonce (cnonce) to resist chosen-plaintext and credential-precomputation attacks; if the cnonce is predictable, an observer of the authentication exchanges can reduce the protection the Digest exchange provides. The root cause is CWE-338 (Use of Cryptographically Weak Pseudo-Random Number Generator): AsyncHttpClient's Realm.Builder.newCnonce() previously called ThreadLocalRandom.current().nextBytes(), then hashed the bytes with a MessageDigest and trimmed the result to 8 bytes (16 hex chars). The fix in commits dca2d90db87f0144ea893a6858dca13c426d06b6 and e1f5fc88fe211d3f64032c33b91093ba3d5e793d replaces this with a ThreadLocal<SecureRandom> and uses nextBytes directly, consistent with RFC 7616 section 3.3 and with the secure nonces already used for NTLM and SCRAM in the same codebase. The CPE cpe:2.3:a:asynchttpclient:async-http-client:*:*:*:*:*:*:*:* identifies the library broadly; the advisory defines the exact boundaries as 2.x before 2.16.1 and 3.x before 3.0.12.

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 3.7 LOW
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 3.7 LOW

Network-observable Digest exchange (AV:N) but AC:H because inferring ThreadLocalRandom state is hard; PR:N/UI:N as no auth or interaction needed; only partial confidentiality (C:L), no I/A impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Oct 07, 2026 - 23:02 EUVD
CVE Published
Oct 07, 2026 - 21:24 cve.org
LOW 3.7

DescriptionCVE.org

The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. Prior to 3.0.12 and 2.16.1, Realm.Builder generates the HTTP Digest client nonce with ThreadLocalRandom rather than a cryptographically secure random source. Digest relies on an unpredictable cnonce to resist chosen-plaintext and credential precomputation attacks, so an observer able to infer generator state can reduce the protection of the authentication exchange. This issue is fixed in versions 3.0.12 and 2.16.1.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 24 maven packages depend on org.asynchttpclient:async-http-client (15 direct, 9 indirect)

Ecosystem-wide dependent count for version 3.0.0.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Medium
moderately popular Java async HTTP library, not universally deployed
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub VulDB

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 LOW
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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· derived
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

18
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +18
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

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