CVE-2026-107284: AsyncHttpClient: WebSocket handshake continues after a failed Sec-WebSocket-Accept check

Published Oct 7, 2026
·
Updated

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.

Affected Software

1 affected component
AsyncHttpClient AsyncHttpClient<3.0.12, <2.16.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade AsyncHttpClient (AHC) to a version that resolves this vulnerability.

    Fixed in 3.0.12
  2. Upgrade

    Upgrade AsyncHttpClient (AHC) to a version that resolves this vulnerability.

    Fixed in 2.16.1

Event History

Oct 7, 2026
CVE Published
via MITRE·09:27 PM
Data Sourced
via MITRE·09:27 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·10:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which applications are exposed to this issue?

Java applications using AsyncHttpClient to establish WebSocket connections are exposed if they use versions earlier than 3.0.12 or 2.16.1. The issue concerns the WebSocket upgrade path, not ordinary HTTP requests described in the available data.

2

What must an attacker do to exploit the flaw?

An attacker must act as the WebSocket peer and return an HTTP 101 upgrade response with a missing or invalid Sec-WebSocket-Accept value. They must also coalesce WebSocket frames with that invalid response so the frames can be decoded and delivered before the channel closes.

3

Does exploitation require application credentials or user interaction?

No. The provided vector identifies no required privileges and no user interaction, but exploitation has high attack complexity.

4

How can this be remediated?

Upgrade AsyncHttpClient to version 3.0.12 or 2.16.1. These versions fix the handshake path so it does not continue into pipeline installation and onOpen delivery after Sec-WebSocket-Accept validation fails.

5

How can I tell whether the application encountered the vulnerable behavior?

Look for failed WebSocket request futures associated with missing or invalid Sec-WebSocket-Accept values, alongside unexpected WebSocket frame handling or onOpen delivery. The affected behavior can deliver coalesced frames even though the request future fails and the channel subsequently closes.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203