The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. Prior to 3.0.12 on 3.x and 2.16.1 on 2.x, the client infers that an HTTP proxy tunnel exists from the last request method rather than the CONNECT result. After a proxy rejects CONNECT, redirect or authentication handlers can write an origin request and its Authorization credentials onto the still-plaintext proxy connection. Basic credentials can be recovered directly, while NTLM responses may be cracked or relayed. This issue is fixed in versions 3.0.12 and 2.16.1.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-319",
"CWE-441",
"CWE-522"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/107xxx/CVE-2026-107232.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "3.0.0"
},
{
"fixed": "3.0.12"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "2.0.0"
},
{
"fixed": "2.16.1"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "3a625cb892233c0a6653ac68823a25ffbc80f393"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "a87e7b8c81a6f66a4ce23cd43097fbadd1c788ea"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "async-http-client-project-2.16.1",
"range": [
{
"fixed": "d1f0ccec417092098d40242fee7dfac84bb3c21f"
}
],
"source": "REFERENCES_TAG"
},
{
"original_tag": "async-http-client-project-3.0.12",
"range": [
{
"fixed": "c07038b44e5206375662b46859672e8f1df9f05a"
}
],
"source": "REFERENCES_TAG"
}
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-107232.json"
[
{
"deprecated": false,
"digest": {
"line_hashes": [
"93761869070226207455796861695467949788",
"60392235751534894590790569698204321708",
"260130185790249635670509730725842553868",
"71717240567445061019878881072650414546"
],
"threshold": 0.9
},
"id": "CVE-2026-107232-0bb3e3b7",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/3a625cb892233c0a6653ac68823a25ffbc80f393",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/request/NettyRequestSender.java"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"16563648305330296703854804808563381750",
"38592909136708029061771047172092962433",
"311440619483304705387453006649643884694",
"54167599100310125798532679329389012896"
],
"threshold": 0.9
},
"id": "CVE-2026-107232-0fce87f7",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/a87e7b8c81a6f66a4ce23cd43097fbadd1c788ea",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/handler/intercept/ConnectSuccessInterceptor.java"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"219246596221720898981563676126452787927",
"112413554918931264338179563940130289539",
"262908889413526511266896616639455764237"
],
"threshold": 0.9
},
"id": "CVE-2026-107232-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"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "21379725901883737177966744980705543401",
"length": 2029
},
"id": "CVE-2026-107232-2f2c59e8",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/a87e7b8c81a6f66a4ce23cd43097fbadd1c788ea",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/handler/intercept/Interceptors.java",
"function": "exitAfterIntercept"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"37673794956690787785247587559178540090",
"153436567179114118314431103473685608334",
"280944977232832824679361794164429679561",
"110812239077197190542688174020533236959",
"89074174079878816942423586998157580913",
"67871885159678949604267286137044003854",
"334586665915427557898617035001800838419",
"170666047334552594897636278228190318115",
"143816524246229936502537196894216881649"
],
"threshold": 0.9
},
"id": "CVE-2026-107232-3e7b9ce0",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/a87e7b8c81a6f66a4ce23cd43097fbadd1c788ea",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/handler/intercept/Interceptors.java"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "285914559560197298127830810253064214053",
"length": 614
},
"id": "CVE-2026-107232-5963099c",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/3a625cb892233c0a6653ac68823a25ffbc80f393",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/handler/intercept/ConnectSuccessInterceptor.java",
"function": "exitAfterHandlingConnect"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "63693764928655523307892543298557431407",
"length": 3235
},
"id": "CVE-2026-107232-68104db8",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/3a625cb892233c0a6653ac68823a25ffbc80f393",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/handler/intercept/ProxyUnauthorized407Interceptor.java",
"function": "exitAfterHandling407"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"107273277517554343281212054420636837986",
"54654309924275726154904716834255309454",
"257513153278452074688639604488618305640",
"43393248891524555857048748841520166126",
"208391176101610086453707913024690875039",
"198340654237356580420785075765551721905",
"321772139969112120197814238181622428405",
"251682050492284063488609073549919232569",
"187285261727317219636567438912622260292",
"286367217590215424589203274277553910893",
"267088930088002385014918461952755599208",
"210035316675227394887567706995071940026"
],
"threshold": 0.9
},
"id": "CVE-2026-107232-71d102be",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/3a625cb892233c0a6653ac68823a25ffbc80f393",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/NettyResponseFuture.java"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"278008856621515251579607918800606694243",
"183953291242655221716237922154855555814",
"114674422634256992639294696471933455974"
],
"threshold": 0.9
},
"id": "CVE-2026-107232-7a4203a7",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/3a625cb892233c0a6653ac68823a25ffbc80f393",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/handler/intercept/ProxyUnauthorized407Interceptor.java"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "59094825267106429361413769881106476949",
"length": 230
},
"id": "CVE-2026-107232-99566ba6",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/3a625cb892233c0a6653ac68823a25ffbc80f393",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/request/NettyRequestSender.java",
"function": "isConnectAlreadyDone"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "45694487395070613010956218757729973419",
"length": 935
},
"id": "CVE-2026-107232-9ce5ab83",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/a87e7b8c81a6f66a4ce23cd43097fbadd1c788ea",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/handler/intercept/ConnectSuccessInterceptor.java",
"function": "exitAfterHandlingConnect"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "2135940576307710754988272828278391335",
"length": 214
},
"id": "CVE-2026-107232-9d305471",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/a87e7b8c81a6f66a4ce23cd43097fbadd1c788ea",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/NettyResponseFuture.java",
"function": "terminateAndExit"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"82275060595342905259010460357307853193",
"280506142558283165666841111422601588825",
"77712513998804805706697026351337301135",
"180585766034724679964362664851934948913",
"24995150232136211658806860942635241078",
"100828779995073662584019012498915840529"
],
"threshold": 0.9
},
"id": "CVE-2026-107232-b00b081b",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/a87e7b8c81a6f66a4ce23cd43097fbadd1c788ea",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/request/NettyRequestSender.java"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"278008856621515251579607918800606694243",
"183953291242655221716237922154855555814",
"114674422634256992639294696471933455974"
],
"threshold": 0.9
},
"id": "CVE-2026-107232-bafe3835",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/a87e7b8c81a6f66a4ce23cd43097fbadd1c788ea",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/handler/intercept/ProxyUnauthorized407Interceptor.java"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"257513153278452074688639604488618305640",
"43393248891524555857048748841520166126",
"208391176101610086453707913024690875039",
"327884691781578295249573128804442464841",
"31385200168611838349165467304218239174",
"199565420838991221769431871768544332022",
"26550541233758642691318029995387673905",
"283649714061603165559112972774888037647",
"264485870307255044809485147069699478129",
"104054647401511927318062821852514562120",
"227368195243635726977469805314699646828"
],
"threshold": 0.9
},
"id": "CVE-2026-107232-bf6fd72b",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/a87e7b8c81a6f66a4ce23cd43097fbadd1c788ea",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/NettyResponseFuture.java"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "319981061666573934872902157208912328509",
"length": 685
},
"id": "CVE-2026-107232-c7b286ac",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/d1f0ccec417092098d40242fee7dfac84bb3c21f",
"target": {
"file": "client/src/main/java/org/asynchttpclient/cookie/ThreadSafeCookieStore.java",
"function": "add"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "62150379452472670416585926881597947612",
"length": 302
},
"id": "CVE-2026-107232-d41d95cf",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/a87e7b8c81a6f66a4ce23cd43097fbadd1c788ea",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/request/NettyRequestSender.java",
"function": "isConnectAlreadyDone"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"294843075208461594987262143168429884764",
"14090395472501993505238017664955173536",
"179662908575714399189504221828519004518",
"132552590161015904425004823624828908338",
"267843809853029553427674013474094442740",
"37673794956690787785247587559178540090",
"153436567179114118314431103473685608334",
"272295634726323453907050697366083833007",
"36959498757069919797973202761597240348",
"125536653428111829505513762503548081151",
"254197364604549747431592874813842798954",
"204126026206739983792229258023468682639",
"246413244827875785941536374390780553732"
],
"threshold": 0.9
},
"id": "CVE-2026-107232-f10025bc",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/3a625cb892233c0a6653ac68823a25ffbc80f393",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/handler/intercept/Interceptors.java"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "269250702260740025704605238512407229919",
"length": 6790
},
"id": "CVE-2026-107232-f6552106",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/a87e7b8c81a6f66a4ce23cd43097fbadd1c788ea",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/handler/intercept/ProxyUnauthorized407Interceptor.java",
"function": "exitAfterHandling407"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "258959195040057388164691616724563276093",
"length": 1427
},
"id": "CVE-2026-107232-fe1724ab",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/3a625cb892233c0a6653ac68823a25ffbc80f393",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/handler/intercept/Interceptors.java",
"function": "exitAfterIntercept"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"5921086235920099630140853148418192862",
"48047145311673591808078576235992775626",
"156298071544090071256163607185212901980"
],
"threshold": 0.9
},
"id": "CVE-2026-107232-fed3d4cc",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/3a625cb892233c0a6653ac68823a25ffbc80f393",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/handler/intercept/ConnectSuccessInterceptor.java"
}
}
]
"2026-10-28T10:51:07Z"