The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. Prior to 3.0.12 and 2.16.1, WebSocketHandler.upgrade aborts a handshake whose Sec-WebSocket-Accept value is missing or invalid but continues into pipeline installation and onOpen delivery. Frames coalesced with the invalid 101 response can be decoded and delivered from a peer that did not prove the handshake, although the request future fails and the channel closes. This issue is fixed in versions 3.0.12 and 2.16.1.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-345",
"CWE-670"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/107xxx/CVE-2026-107284.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": "75a278550aa9a980009d022fb4e635f9c8738c03"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "ccdcaa627db6d96dcc42105212cb3ba5048bd7f9"
}
],
"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-107284.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "204311473650392122365343824037422172954",
"length": 1248
},
"id": "CVE-2026-107284-2565f0a7",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/ccdcaa627db6d96dcc42105212cb3ba5048bd7f9",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/handler/WebSocketHandler.java",
"function": "upgrade"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"219246596221720898981563676126452787927",
"112413554918931264338179563940130289539",
"262908889413526511266896616639455764237"
],
"threshold": 0.9
},
"id": "CVE-2026-107284-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": "14394363047462514275237261427692143001",
"length": 1223
},
"id": "CVE-2026-107284-719b9561",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/75a278550aa9a980009d022fb4e635f9c8738c03",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/handler/WebSocketHandler.java",
"function": "upgrade"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "319981061666573934872902157208912328509",
"length": 685
},
"id": "CVE-2026-107284-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": {
"line_hashes": [
"239615002725714415026368137695933476161",
"217196041250478672577273281834869996867",
"580924265603046924088292602267569241",
"43954023782277947680247775579417012281"
],
"threshold": 0.9
},
"id": "CVE-2026-107284-e8be9549",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/ccdcaa627db6d96dcc42105212cb3ba5048bd7f9",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/handler/WebSocketHandler.java"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"239615002725714415026368137695933476161",
"217196041250478672577273281834869996867",
"580924265603046924088292602267569241",
"84231442379824931570384978207728542844"
],
"threshold": 0.9
},
"id": "CVE-2026-107284-f9e999b3",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/asynchttpclient/async-http-client/commit/75a278550aa9a980009d022fb4e635f9c8738c03",
"target": {
"file": "client/src/main/java/org/asynchttpclient/netty/handler/WebSocketHandler.java"
}
}
]
"2026-10-28T10:51:09Z"