Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLure client to malicious WebSocket peer
-
DeliveryNegotiate permessage-deflate compression
-
ExploitSend tiny highly-compressible frame
-
ExecutionUnbounded inflate into Netty buffer
-
ImpactExhaust JVM heap and crash
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires that the async-http-client application establishes a WebSocket connection with permessage-deflate compression enabled/negotiated (the description explicitly scopes the flaw to when compression is enabled), and that the remote WebSocket peer is attacker-controlled or an attacker is MITM-positioned on the connection. Because this is a client-side library, exploitation is NOT unauthenticated-server-DoS: the victim app must connect outbound to the malicious endpoint. Limiting factors: the bug does not trigger without compression; the existing webSocketMaxFrameSize and webSocketMaxBufferSize settings do NOT mitigate it (they bound only compressed bytes); affected only in versions 2.2.0 through 3.0.13. |
| Impact | All signals point to an availability-only denial-of-service issue, not a candidate for emergency patching outside WebSocket-dependent services. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, 7.5 HIGH) is internally consistent with the description: no confidentiality or integrity impact, only heap exhaustion (CWE-400). No EPSS score, CISA KEV listing, or public POC is present in the provided intelligence, so exploitation status is: no public exploit identified at time of analysis. The high score is driven entirely by the A:H component; this is a genuine but narrow risk rather than a high-CVSS-but-illusory issue. Two limiting factors not captured by the base score must be weighed: (1) async-http-client is a CLIENT library, so the victim application must itself initiate a WebSocket connection to an attacker-controlled (or MITM-positioned) peer rather than passively receive attacker traffic; (2) the flaw only manifests when permessage-deflate compression is enabled on that WebSocket, per the description. AV:N is defensible but the practical attack surface is smaller than a typical network-facing server DoS. |
| Exploit ScenarioDerived | A Java application built on async-http-client (2.2.0-3.0.13) opens a WebSocket to a server with permessage-deflate negotiated. The malicious or compromised server sends a tiny highly-compressible frame (a classic decompression/zip-bomb pattern) that inflates to a huge Netty buffer, and because webSocketMaxFrameSize/webSocketMaxBufferSize only bound compressed bytes, the JVM heap is exhausted and the client crashes. No public exploit is identified at time of analysis, though the technique is well understood and trivial to reproduce. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 07, 2026
Unbounded WebSocket permessage-deflate decompression in the AsyncHttpClient (AHC) Java library versions 2.2.0 through 3.0.13 allows a malicious or compromised WebSocket peer to exhaust the JVM heap of the connecting application by sending a small compressed message that inflates into a very large Netty buffer. The flaw is remote, requires no authentication or user interaction from the peer side (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, 7.5), but it only triggers when the client application itself opens an outbound WebSocket connection with permessage-deflate compression negotiated - meaning the victim must connect to an attacker-controlled endpoint or be exposed to a man-in-the-middle. Impact is availability-only: no confidentiality or integrity loss, and no public exploit code has been identified at time of analysis. The issue is fixed in version 3.0.14.
RemediationAI
Upgrade to AsyncHttpClient 3.0.14, the vendor-released fix (release tag async-http-client-project-3.0.14, commit b61637f30327f314b7693418f12ce141ac6b2b30), and verify via the advisory at https://github.com/AsyncHttpClient/async-http-client/security/advisories/GHSA-x8v2-478q-2hvg. After upgrading, confirm that webSocketMaxDecompressedFrameSize is set to a bounded non-zero value (the new property defaults to webSocketMaxBufferSize, but a value of 0 disables the limit and would reinstate the exposure). If upgrading is not immediately possible, the most effective compensating control is to disable WebSocket permessage-deflate compression entirely on affected client instances so that no inflate step occurs - the trade-off is increased bandwidth consumption and slower transfer of highly compressible payloads. Restricting outbound WebSocket connections to trusted, first-party endpoints (and enforcing TLS with certificate validation to block man-in-the-middle injection) removes the practical attack path, at the cost of reduced flexibility for integrations that must reach third-party WebSocket services. Note that lowering webSocketMaxFrameSize or webSocketMaxBufferSize is NOT a mitigation, since those settings bound only the compressed bytes, and running the client under a tightly capped JVM heap merely converts heap exhaustion into an earlier crash rather than preventing it.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
AsyncHttpClient is a popular asynchronous Java HTTP/WebSocket client built on Netty and identified by CPE cpe:2.3:a:asynchttpclient:async-http-client. The vulnerability is an instance of CWE-400 (Uncontrolled Resource Consumption), specifically a compression-based amplification (decompression bomb) in the WebSocket permessage-deflate extension (RFC 7692). In affected releases the inbound Netty pipeline aggregates the compressed WebSocket frames before WebSocketClientCompressionHandler inflates them, so the existing guardrails webSocketMaxFrameSize and webSocketMaxBufferSize are applied only to the compressed byte stream and never bound the inflated output. A peer can therefore craft a tiny compressed message whose decompressed representation grows without limit, allocating an arbitrarily large Netty buffer and driving the JVM into OutOfMemoryError. The upstream fix commit (b61637f30327f314b7693418f12ce141ac6b2b30) introduces a new configuration property, webSocketMaxDecompressedFrameSize, which is exposed on AsyncHttpClientConfig and DefaultAsyncHttpClientConfig.Builder and defaults to the existing webSocketMaxBufferSize value; the connection is failed when a permessage-deflate message would inflate beyond that limit. Notably, 0 means no limit, so deployments must not explicitly set that property to 0.
Know when Java gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
A remote malicious peer needs no authentication or user interaction to send a compressed bomb over an active WebSocket (AV:N/AC:L/PR:N/UI:N); impact is heap-exhaustion DoS only, so C:N/I:N/A:H.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. From 2.2.0 until 3.0.14, WebSocket permessage-deflate decompression is unbounded when compression is enabled. The inbound pipeline aggregates compressed frames before WebSocketClientCompressionHandler inflates them, so webSocketMaxFrameSize and webSocketMaxBufferSize do not bound decompressed output. A malicious WebSocket peer can send a small compressed message that expands to a very large Netty buffer and exhausts JVM heap. This issue is fixed in version 3.0.14.
Blast Radius
ecosystem impact- 24 maven packages depend on org.asynchttpclient:async-http-client (15 direct, 9 indirect)
Ecosystem-wide dependent count for version 3.0.0.
Articles & Coverage 1
Technical POC Analysis
CWE-400 (Uncontrolled Resource Consumption), with CWE-409 (Improper Handling of Highly Compressed Data) as the amplification mechanism.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A memory-exhaustion flaw in the widely used AsyncHttpClient Java library (versions 2.2.0 through 3.0.13) lets a hostile or compromised WebSocket endpoint crash the Java application that connects to it, because a tiny compressed message can be inflated into an arbitrarily large in-memory buffer. The flaw affects availability only - no data theft or tampering - but any service, gateway, or integration that makes outbound WebSocket connections with permessage-deflate enabled can be taken offline, and a man-in-the-middle on the network path can trigger it against otherwise benign endpoints. Leadership should care because remediation depends on an outbound connection pattern that is common in microservices and integration layers, and no public exploit code or active exploitation has been identified at time of analysis.
Apply vendor patch - upgrade to AsyncHttpClient 3.0.14. Until deployment is complete: disable WebSocket permessage-deflate negotiation on outbound connections, restrict outbound WebSocket destinations to trusted endpoints, enforce TLS certificate validation to reduce man-in-the-middle exposure, cap JVM heap with monitoring and alerting on exhaustion, and isolate affected services so a crash does not cascade.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
EUVD-2026-94588
GHSA-x8v2-478q-2hvg
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB