{"id":"CVE-2026-85720","summary":"AsyncHttpClient: Origin credentials sent to the proxy on the plaintext CONNECT request","details":"The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. From 2.0.0 until 2.16.1 and 3.0.12, a request using an HTTP proxy to reach an HTTPS origin can expose preemptive origin credentials because NettyRequestFactory and NettyRequestSender.sendRequestWithNewChannel attach Authorization to the plaintext CONNECT request before the TLS tunnel exists. Basic or Digest credentials and per-connection NTLM, Kerberos, or SPNEGO tokens intended for the origin are therefore visible to the proxy and to observers on the client-to-proxy hop. The tunneled request still receives origin Authorization after the tunnel is established, while Proxy-Authorization remains on CONNECT for its intended proxy recipient. This issue is fixed in versions 2.16.1 and 3.0.12.","aliases":["GHSA-xr57-gcx8-52hf"],"modified":"2026-09-23T08:30:02.805807Z","published":"2026-09-17T16:00:01.615Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-319","CWE-522"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/85xxx/CVE-2026-85720.json"},"references":[{"type":"ADVISORY","url":"https://github.com/AsyncHttpClient/async-http-client/security/advisories/GHSA-xr57-gcx8-52hf"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/85xxx/CVE-2026-85720.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-85720"},{"type":"FIX","url":"https://github.com/AsyncHttpClient/async-http-client/commit/9dba5ac988b7e750551f59b2eab550b60ac8a0d6"},{"type":"FIX","url":"https://github.com/AsyncHttpClient/async-http-client/commit/d07dbc79f5cf378f63c246f6101d7579ace55acc"},{"type":"FIX","url":"https://github.com/AsyncHttpClient/async-http-client/pull/2234"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/asynchttpclient/async-http-client","events":[{"introduced":"b60e5a0d7d989e4a24c13e03ba786c375b727448"},{"introduced":"9a771c7b40e716ca77a3cad691545b29ff64bfd3"},{"fixed":"d1f0ccec417092098d40242fee7dfac84bb3c21f"},{"fixed":"c07038b44e5206375662b46859672e8f1df9f05a"},{"fixed":"9dba5ac988b7e750551f59b2eab550b60ac8a0d6"},{"fixed":"d07dbc79f5cf378f63c246f6101d7579ace55acc"}],"database_specific":{"extracted_events":[{"introduced":"2.0.0"},{"fixed":"2.16.1"},{"introduced":"3.0.0"},{"fixed":"3.0.12"}],"source":["AFFECTED_FIELD","REFERENCES"]}}],"versions":["async-http-client-project-2.16.0","async-http-client-project-2.15.0","async-http-client-project-3.0.11","async-http-client-project-3.0.10","async-http-client-project-3.0.9","async-http-client-project-2.14.5","async-http-client-project-2.12.4","async-http-client-project-3.0.8","async-http-client-project-3.0.7","async-http-client-project-3.0.6","async-http-client-project-3.0.5","async-http-client-project-3.0.4","async-http-client-project-3.0.3","async-http-client-project-3.0.2","async-http-client-project-2.12.3","async-http-client-project-3.0.1","async-http-client-project-3.0.0","async-http-client-project-2.12.2","async-http-client-project-2.12.1","async-http-client-project-2.12.0","async-http-client-project-2.11.0","async-http-client-project-2.10.5","async-http-client-project-2.10.4","async-http-client-project-2.10.3","async-http-client-project-2.10.2","async-http-client-project-2.10.1","async-http-client-project-2.10.0","async-http-client-project-2.9.0","async-http-client-project-2.8.1","async-http-client-project-2.8.0","async-http-client-project-2.7.0","async-http-client-project-2.6.0","async-http-client-project-2.5.4","async-http-client-project-2.5.3","async-http-client-project-2.5.2","async-http-client-project-2.5.1","async-http-client-project-2.5.0","async-http-client-project-2.4.9","async-http-client-project-2.4.8","async-http-client-project-2.4.7","async-http-client-project-2.4.6","async-http-client-project-2.4.5","async-http-client-project-2.4.4","async-http-client-project-2.4.3","async-http-client-project-2.4.2","async-http-client-project-2.4.1","async-http-client-project-2.4.0","async-http-client-project-2.3.0","async-http-client-project-2.2.1","async-http-client-project-2.2.0","async-http-client-project-2.1.2","async-http-client-project-2.1.1","async-http-client-project-2.1.0","async-http-client-project-2.1.0-RC4","async-http-client-project-2.1.0-RC3","async-http-client-project-2.1.0-RC2","async-http-client-project-2.1.0-RC1","async-http-client-project-2.1.0-alpha26","async-http-client-project-2.1.0-alpha25","async-http-client-project-2.1.0-alpha24","async-http-client-project-2.1.0-alpha23","async-http-client-project-2.1.0-alpha22","async-http-client-project-2.1.0-alpha21","async-http-client-project-2.1.0-alpha20","async-http-client-project-2.1.0-alpha19","async-http-client-project-2.1.0-alpha18","async-http-client-project-2.1.0-alpha17","async-http-client-project-2.1.0-alpha16","async-http-client-project-2.1.0-alpha15","async-http-client-project-2.1.0-alpha14","async-http-client-project-2.1.0-alpha13","async-http-client-project-2.1.0-alpha12","async-http-client-project-2.1.0-alpha11","async-http-client-project-2.1.0-alpha10","async-http-client-project-2.1.0-alpha9","async-http-client-project-2.1.0-alpha8","async-http-client-project-2.1.0-alpha7","async-http-client-project-2.1.0-alpha6","async-http-client-project-2.1.0-alpha5","async-http-client-project-2.1.0-alpha4","async-http-client-project-2.1.0-alpha3","async-http-client-project-2.1.0-alpha2","async-http-client-project-2.0.24","async-http-client-project-2.0.23","async-http-client-project-2.0.22","async-http-client-project-2.0.21","async-http-client-project-2.0.20","async-http-client-project-2.0.19","async-http-client-project-2.0.18","async-http-client-project-2.0.17","async-http-client-project-2.0.16","async-http-client-project-2.0.15","async-http-client-project-2.0.14","async-http-client-project-2.0.13","async-http-client-project-2.0.12","async-http-client-project-2.0.11","async-http-client-project-2.0.10","async-http-client-project-2.0.9","async-http-client-project-2.0.8","async-http-client-project-2.0.7","async-http-client-project-2.0.6","async-http-client-project-2.0.5","async-http-client-project-2.0.4","async-http-client-project-2.0.3","async-http-client-project-2.0.2","async-http-client-project-2.0.1","async-http-client-project-2.0.0"],"database_specific":{"vanir_signatures":[{"signature_version":"v1","source":"https://github.com/asynchttpclient/async-http-client/commit/9dba5ac988b7e750551f59b2eab550b60ac8a0d6","target":{"file":"client/src/main/java/org/asynchttpclient/netty/request/NettyRequestSender.java"},"deprecated":false,"digest":{"line_hashes":["204616354697742897632933592287430363889","142598992255736317785324524841794773985","94123391792879649944636931325308566213","265381164438395151163992386051957434121"],"threshold":0.9},"id":"CVE-2026-85720-00145fd2","signature_type":"Line"},{"digest":{"function_hash":"80691436527858336921165780537888200204","length":3114},"id":"CVE-2026-85720-0954efc9","signature_type":"Function","signature_version":"v1","source":"https://github.com/asynchttpclient/async-http-client/commit/9dba5ac988b7e750551f59b2eab550b60ac8a0d6","target":{"file":"client/src/main/java/org/asynchttpclient/netty/request/NettyRequestFactory.java","function":"newNettyRequest"},"deprecated":false},{"deprecated":false,"digest":{"function_hash":"237759066504328024275229247352318608643","length":1731},"id":"CVE-2026-85720-2078fddb","signature_type":"Function","signature_version":"v1","source":"https://github.com/asynchttpclient/async-http-client/commit/d07dbc79f5cf378f63c246f6101d7579ace55acc","target":{"file":"client/src/main/java/org/asynchttpclient/netty/request/NettyRequestSender.java","function":"sendRequestWithNewChannel"}},{"deprecated":false,"digest":{"line_hashes":["219246596221720898981563676126452787927","112413554918931264338179563940130289539","262908889413526511266896616639455764237"],"threshold":0.9},"id":"CVE-2026-85720-26220b3f","signature_type":"Line","signature_version":"v1","source":"https://github.com/asynchttpclient/async-http-client/commit/d1f0ccec417092098d40242fee7dfac84bb3c21f","target":{"file":"client/src/main/java/org/asynchttpclient/cookie/ThreadSafeCookieStore.java"}},{"target":{"file":"client/src/main/java/org/asynchttpclient/netty/request/NettyRequestFactory.java"},"deprecated":false,"digest":{"line_hashes":["176375935664463085575321154280766555865","320942681079392990049770772011341562800","13274358765172394882544053818222318777","329920112672067131146797719152178891211"],"threshold":0.9},"id":"CVE-2026-85720-29e7ff28","signature_type":"Line","signature_version":"v1","source":"https://github.com/asynchttpclient/async-http-client/commit/9dba5ac988b7e750551f59b2eab550b60ac8a0d6"},{"target":{"file":"client/src/main/java/org/asynchttpclient/netty/request/NettyRequestSender.java","function":"sendRequestWithNewChannel"},"deprecated":false,"digest":{"function_hash":"181276497224651122708108448771781761287","length":1860},"id":"CVE-2026-85720-5ee8a2c4","signature_type":"Function","signature_version":"v1","source":"https://github.com/asynchttpclient/async-http-client/commit/9dba5ac988b7e750551f59b2eab550b60ac8a0d6"},{"target":{"file":"client/src/main/java/org/asynchttpclient/netty/request/NettyRequestFactory.java"},"deprecated":false,"digest":{"line_hashes":["176375935664463085575321154280766555865","320942681079392990049770772011341562800","13274358765172394882544053818222318777","329920112672067131146797719152178891211"],"threshold":0.9},"id":"CVE-2026-85720-74694fda","signature_type":"Line","signature_version":"v1","source":"https://github.com/asynchttpclient/async-http-client/commit/d07dbc79f5cf378f63c246f6101d7579ace55acc"},{"signature_type":"Function","signature_version":"v1","source":"https://github.com/asynchttpclient/async-http-client/commit/d07dbc79f5cf378f63c246f6101d7579ace55acc","target":{"file":"client/src/main/java/org/asynchttpclient/netty/request/NettyRequestFactory.java","function":"newNettyRequest"},"deprecated":false,"digest":{"function_hash":"146070383708352137672928407363311387337","length":3459},"id":"CVE-2026-85720-b3297031"},{"target":{"file":"client/src/main/java/org/asynchttpclient/cookie/ThreadSafeCookieStore.java","function":"add"},"deprecated":false,"digest":{"length":685,"function_hash":"319981061666573934872902157208912328509"},"id":"CVE-2026-85720-c7b286ac","signature_type":"Function","signature_version":"v1","source":"https://github.com/asynchttpclient/async-http-client/commit/d1f0ccec417092098d40242fee7dfac84bb3c21f"},{"deprecated":false,"digest":{"line_hashes":["136043121403091600796787366327952011717","56767776914461357829697132473031759333","225067407093130584076370325453225985307","286336410338359500569980306393162376498","204616354697742897632933592287430363889","142598992255736317785324524841794773985","306400403952326857998903440501447066571","269520446606951848257362642638949255007"],"threshold":0.9},"id":"CVE-2026-85720-e19c1edc","signature_type":"Line","signature_version":"v1","source":"https://github.com/asynchttpclient/async-http-client/commit/d07dbc79f5cf378f63c246f6101d7579ace55acc","target":{"file":"client/src/main/java/org/asynchttpclient/netty/request/NettyRequestSender.java"}}],"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-85720.json","vanir_signatures_modified":"2026-09-23T08:30:02Z"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N"}]}