CyberRota Analysis
AI-GeneratedThe AsyncHttpClient library in Java versions 2.1.0 to 2.16.1 and 3.0.12 is vulnerable due to improper handling of Proxy-Authorization headers, which can inadvertently expose proxy credentials, including Basic, NTLM, Kerberos, and SPNEGO, to the origin server. This vulnerability allows attackers to intercept sensitive authentication information, posing a significant risk to applications utilizing authenticated SOCKS proxies. Organizations using affected versions should prioritize upgrading to versions 2.16.1 or 3.0.12 to mitigate this high-severity risk.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. From 2.1.0 until 2.16.1 and 3.0.12, requests using an authenticated SOCKS proxy can expose the proxy's credentials to the origin because NettyRequestFactory and NettyRequestSender attach Proxy-Authorization without confirming that the request is being sent to an HTTP proxy. With preemptive proxy authentication, the header is attached to a plaintext HTTP request, exposing credentials such as directly reversible Basic credentials to the origin. With the default non-preemptive flow, a hostile origin can return a 407 response and ProxyUnauthorized407Interceptor sends the proxy credentials through the existing SOCKS tunnel, including NTLM, Kerberos, and SPNEGO credentials. Releases before 2.1.0 lack SOCKS proxy support. This issue is fixed in versions 2.16.1 and 3.0.12.