CVE-2026-107230
AsyncHttpClient: Pooled connections can still be shared across NTLM, Negotiate and proxy logins
Published Oct 8, 2026 · updated Oct 8, 2026
### Impact The fix for GHSA-vvp4-63h8-v5pm in 3.0.13 folded the authenticated principal into the HTTP/1.1 connection pool key, so that a connection one principal authenticated with NTLM, Kerberos or SPNEGO is not handed to another. It left three cases out. In each, a socket that one identity authenticated can still be drawn by a request belonging to a different identity, and the server serves that request as the first one. 1. **A login with no configured principal.** Kerberos and SPNEGO against the ticket cache or the default JAAS login, which is the usual deployment, leave the realm's principal unset, and the key stayed unscoped in that case. A request to the same host that carries no credentials at all draws the authenticated socket and is served as the service identity. 2. **The proxy realm.** Only the origin realm went into the key. A connection authenticated to a proxy with NTLM or Negotiate is handed to requests of another proxy identity, or of none, and the proxy acts for them as the first identity. 3. **Identities that share a user name.** Only the principal string went into the key, so and shared connections, as did two realms differing only in password, login context, keytab or service principal. The Kerberos login cache in had the same collision, and it was an unsynchronised map, so concurrent first use could hand one caller's login to another. ### Who is Impacted Applications that authenticate with NTLM, Kerberos or SPNEGO, to an origin or to a proxy, and send requests under different identities, or both with and without credentials, to the same host through one client. The sharpest case is a service that calls an internal host under its own Kerberos identity and also fetches user-supplied URLs: a URL on that host is fetched as the service. Basic and Digest are not affected. ### Affected versions * 3.x: 3.0.13 * 2.x: 2.16.1 Earlier versions are covered by GHSA-vvp4-63h8-v5pm. ### Patches Fixed in 3.0.14. The pool key now carries a digest of every field o
Timeline
Detection, updates, and resolution for this record.
Oct 8, 2026 · Catalog
Detected
### Impact The fix for GHSA-vvp4-63h8-v5pm in 3.0.13 folded the authenticated principal into the HTTP/1.1 connection pool key, so that a connection one principal authenticated with NTLM, Kerberos or SPNEGO is not handed to another. It left three cases out. In each, a socket that one identity authenticated can still be drawn by a request belonging to a different identity, and the server serves that
Oct 8, 2026 · Catalog
Fix available
Maven org.asynchttpclient:async-http-client 3.0.0 → 3.0.14
Oct 8, 2026 · Catalog
Updated
### Impact The fix for GHSA-vvp4-63h8-v5pm in 3.0.13 folded the authenticated principal into the HTTP/1.1 connection pool key, so that a connection one principal authenticated with NTLM, Kerberos or SPNEGO is not handed to another. It left three cases out. In each, a socket that one identity authenticated can still be drawn by a request belonging to a different identity, and the server serves that
Affected
- Maven org.asynchttpclient:async-http-client2.0.0, 2.0.1, 2.0.10
- Maven org.asynchttpclient:async-http-client3.0.0 → 3.0.14
Sources
- CVE.orgCVE-2026-107230
Official CVE identifier
cve.org - FIRST EPSSCVE-2026-107230
30-day exploitation probability 0.2%
first.org - GitHub Advisory DatabaseGHSA-v2j5-22fr-j62r
GitHub Advisory Database record mirrored by OSV.
github.com - OSV.devGHSA-v2j5-22fr-j62r
AsyncHttpClient: Pooled connections can still be shared across NTLM, Negotiate and proxy logins
osv.dev