Vulnerability in org.asynchttpclient:async-http-client (CVE-2026-107227)
Summary
Vulnerability in org.asynchttpclient:async-http-client (CVE-2026-107227). Risk of unauthorized operations or information disclosure. Exploitable via webSocketMaxFrameSize. Mitigation: upgrade to 3.0.14 or later.
Original description
The description as published by the source.
Impact
With WebSocket compression enabled, the client inflates permessage-deflate messages with no limit on the decompressed size. It installed Netty's shared WebSocketClientCompressionHandler.INSTANCE, whose inflater is unbounded, and webSocketMaxFrameSize and webSocketMaxBufferSize only bound the compressed bytes, because the frame aggregator sits in front of the inflater.
A malicious or compromised WebSocket server, or anyone on the path of a ws:// connection, can therefore send a message of about 2 MiB that inflates to about 2 GiB, the most a Netty buffer can hold. The client then copies the inflated message again to hand it to the listener. That exhausts the heap of a typically sized JVM. Netty catches the resulting OutOfMemoryError and closes that connection, but while the buffer is live any other allocation in the process can fail too, and a server that keeps sending such messages, on one connection or several, keeps the client at heap exhaustion.
Who is Impacted
Only applications that enable WebSocket compression with setEnablewebSocketCompression(true), which is off by default, and connect to a WebSocket server that is untrusted, compromised, or reached over cleartext ws://.
Affected versions
- 3.x: up to and including 3.0.13
- 2.x: from 2.2.0, when WebSocket compression was added, up to and including 2.16.1
Patches
Fixed in 3.0.14. A new setting, webSocketMaxDecompressedFrameSize (setWebSocketMaxDecompressedFrameSize, or t…
Source: NIST National Vulnerability Database NVD GitHub Advisory
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2026-107227 has been found in org.asynchttpclient:async-http-client.
Attackers can target a specific entry point like webSocketMaxFrameSize over the network to misuse the product.
Risk of unauthorized operations or information disclosure. CVSS score: 7.5/10.
What to do: upgrade org.asynchttpclient:async-http-client to 3.0.14 or later.
If unsure, ask your IT team or search "org.asynchttpclient:async-http-client CVE-2026-107227" on the vendor's site.
CVE-2026-107227 (org.asynchttpclient:async-http-client) — CWE-400 / CVSS v3 7.5
Attack vector: remote (network-reachable) / unauthenticated / no user interaction
Attack surface: webSocketMaxFrameSize / webSocketMaxBufferSize / OutOfMemoryError / webSocketMaxDecompressedFrameSize
Patched: 3.0.14 — apply immediately
Workaround: Leave WebSocket compression disabled, which is the default.
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
A vulnerability (CWE-400) exists in org.asynchttpclient:async-http-client. Attackers reach the vulnerable code path via webSocketMaxFrameSize without authentication.
Check the vendor advisory for the affected versions of org.asynchttpclient:async-http-client. Attack surface: webSocketMaxFrameSize / webSocketMaxBufferSize / OutOfMemoryError / webSocketMaxDecompressedFrameSize.
Severity: High (CVSS 7.5/10). Risk of unauthorized operations or information disclosure.
Update to 3.0.14.
Workaround: Leave WebSocket compression disabled, which is the default.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Audit SBOM/dependencies to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
Audit SBOM/dependencies for affected components.資産台帳・SBOM・依存マニフェストで org.asynchttpclient:async-http-client を使っているサービスとバージョンを洗い出す。
-
2Apply temporary workaround mitigate
Leave WebSocket compression disabled, which is the default.パッチが適用されるまでの応急処置として、Leave WebSocket compression disabled, which is the default. を実施。回避策の副作用 (機能低下) を確認した上で。
-
3Apply patch patch
Upgrade org.asynchttpclient:async-http-client to 3.0.14ステージング環境で 3.0.14 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
4Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。