Skip to main content

AsyncHttpClient EUVDEUVD-2026-94589

| CVE-2026-107228 MEDIUM
Improper Authentication (CWE-287)
2026-10-07 GitHub_M GHSA-2jwh-9rmr-j4xf
6.8
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as user on shared AHC client
  2. Delivery
    Prior user's cookies stored for origin
  3. Exploit
    Supply Cookie header via setHeader/addHeader
  4. Execution
    Store replaces header with another session
  5. Impact
    Request executes under wrong session

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK

2 techniques across 2 tactics: Defense Evasion, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires a shared AsyncHttpClient instance (versions 2.1.0 through before 3.0.14) serving multiple users/sessions with the enabled-by-default CookieStore left active, AND at least one user supplying cookies directly through a Cookie header via setHeader or addHeader (not addCookie). The store must already hold a cookie for the same origin, contributed by a different user, for the replacement to occur. Limiting factors: the attacker must be an authenticated participant on the shared client (PR:L); single-user or per-request client instances, or deployments that disable the cookie store, are not affected; exploitation also depends on timing/ordering of stored cookies for the origin (AC:H), so it is not deterministically triggerable on demand.

Impact

This is a genuine but conditional multi-tenancy flaw (CWE-287) rather than a broadly weaponizable remote exploit. The vendor CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N = 6.8 Medium) is internally consistent with the description: AC:H reflects that exploitation depends on the enabled-by-default CookieStore actually contributing a cookie for the origin and on request timing within a shared client, and PR:L reflects that the attacker must be a legitimate authenticated user whose cookies get stored. No EPSS score, no CISA KEV listing, and no public exploit code were provided, so by the precision rules this is 'no public exploit identified at time of analysis' - exploitation is plausible by an insider/co-tenant but not demonstrated in the wild. The signals do not conflict: a Medium CVSS, absent KEV, and absent POC all point to a real-but-not-urgent issue whose impact (one user's request executing under another user's session, i.e. session confusion) is high per-incident but gated by a specific architecture (a shared AHC client serving multiple users with the cookie store left enabled). Note this explicitly bypasses the earlier CVE-2024-53990 fix, which only covered addCookie and not directly-set Cookie headers, so environments that believed they were patched against the prior CVE remain exposed via setHeader/addHeader.

Exploit ScenarioDerived

A Java service uses a single shared AsyncHttpClient instance (with the default cookie store enabled) to proxy or relay requests on behalf of many end users. User A sends a request with an explicit Cookie header via setHeader/addHeader, but the store injects cookies previously captured from User B for the same origin, replacing A's header so the upstream request runs under B's session. No public PoC is referenced; exploitation requires an attacker to be one of the authenticated users sharing that client instance.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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

Cookie-store handling in AsyncHttpClient (AHC) versions 2.1.0 through 2.16.1 and 3.0.0 through 3.0.13 lets a shared client instance attach one user's stored cookies to another user's request, causing the outbound request to execute under the wrong session. The enabled-by-default cookie store replaces a Cookie header set explicitly via setHeader or addHeader whenever the store holds any cookie for the origin, a gap that survives the earlier CVE-2024-53990 fix (which only covered cookies supplied through addCookie). Exploitation is conditional rather than broadly weaponizable: it requires a multi-tenant shared client, an authenticated participant (CVSS PR:L), at least one caller supplying the Cookie header directly, and a stored cookie for the same origin, with timing/ordering dependence reflected in the high attack complexity (AC:H) of the assessed CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N vector; no public exploit identified at time of analysis and no CISA KEV listing. A vendor-released patch, version 3.0.14, is available.

RemediationAI

Upgrade to the vendor-released patch, AsyncHttpClient 3.0.14 (release tag 'async-http-client-project-3.0.14'), which merges caller-supplied Cookie headers with stored cookies instead of replacing them and reconciles cookies across redirects; see advisory GHSA-2jwh-9rmr-j4xf and commit fd9763620725126c1c8bb0af1ceb9a7523099a5f for the precise code change, and note that users still on the 2.x line (2.1.0-2.16.1) must migrate to the 3.x branch since the fix ships only in 3.0.14. Where upgrading is not immediately possible, the highest-value compensating control is to avoid sharing a single AsyncHttpClient instance across security boundaries - instantiate a per-user or per-request client, or bind each tenant to its own cookie store - which eliminates the cross-session substitution but costs connection-pooling efficiency and increases resource consumption. Alternatively, disable the default CookieStore (pass a null/disabled cookie store to the client builder) so stored cookies can never override caller headers, at the trade-off of losing automatic cookie persistence, redirect cookie propagation, and set-cookie handling that applications may rely on. Applications that must instead supply session cookies through the API should use addCookie rather than setHeader/addHeader so the legacy CVE-2024-53990 path applies, though this is a defensive workaround, not a substitute for 3.0.14. After deployment, verify that requests carry exactly one RFC 6265-compliant Cookie field and monitor for cross-tenant session anomalies in multi-user client deployments.

Affected VersionsENISA

async-http-client 2.1.0, ≤ 2.16.1
async-http-client 3.0.0, < 3.0.14

Affected Packages

maven org.asynchttpclient:async-http-client fix: 3.0.14
euvd async_http_client_2_1_0 no fix
euvd async_http_client_3_0_0 fix: 3.0.14

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

AsyncHttpClient is a Java library built on Netty that issues HTTP requests asynchronously; it maintains an in-memory CookieStore that, when enabled (the default), applies RFC 6265-style cookie semantics to requests and responses. The flaw is classified as CWE-287 (Improper Authentication) because the request's authentication context - the Cookie header, which typically carries a session identifier - is silently rewritten with cookies belonging to a different origin user in a shared client. Root cause: the cookie-application path treated the store's cookies as authoritative and overwrote a caller-supplied Cookie header instead of merging with it, so a header set via RequestBuilder.setHeader("Cookie", ...) or addHeader was discarded whenever the store contributed any cookie for the origin. The upstream fix (commit fd9763620725126c1c8bb0af1ceb9a7523099a5f) introduces CallerCookies.withHeaderCookies, which decodes caller-supplied Cookie headers with Netty's ServerCookieDecoder.LAX and merges them with request cookies (caller values winning on name collision) via NettyRequestFactory.mergeCookies, emitting a single RFC 6265 Section 5.4-compliant Cookie field and preserving caller text verbatim to avoid decode/re-encode loss; Redirect30xInterceptor.propagatedHeaders now strips the raw COOKIE header when cookies are reconciled so a rotated cookie is not outranked on redirect. Per the CPE cpe:2.3:a:asynchttpclient:async-http-client:*:*:*:*:*:*:*:* and the EUVD data, both the 2.x line (2.1.0 through 2.16.1) and the 3.x line (3.0.0 up to 3.0.14) are affected; the earlier CVE-2024-53990 remediation is explicitly bypassed because it only addressed addCookie-based cookie injection, not a directly supplied header.

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

Network-reachable shared client but exploitation depends on stored-cookie state and timing (AC:H); attacker must be an authenticated user (PR:L); session takeover yields high C/I, no availability impact.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/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
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

1
Patch available
Oct 07, 2026 - 22:02 EUVD

DescriptionCVE.org

The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. From 2.1.0 until 3.0.14, the enabled-by-default cookie store replaces a Cookie header explicitly supplied through setHeader or addHeader whenever the store contributes any cookie for the origin. In a shared client, stored cookies originating from one user can replace a different user's request cookie, causing the request to execute under the wrong session. This bypasses the earlier CVE-2024-53990 remediation, which covered cookies supplied through addCookie but not a directly supplied header. In the affected execution path, setHeader, addHeader, Cookie header, and CookieStore control or expose the vulnerable behavior. This issue is fixed in version 3.0.14.

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 79% exploitable
Prevalence
Medium
popular Java async HTTP client library, but not universally deployed
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Total

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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