Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach Netty-fronted HTTP endpoint
-
DeliverySend chunked request with bare-CR chunk-size line
-
ExploitParser accepts malformed terminator
-
ExecutionDesync front-end vs Netty framing
-
PersistSmuggled request injected on connection
-
ImpactBypass access controls / poison other users' requests
Vulnerability Assessment
| Weakness |
CWE
|
| Exploitation Conditions | Exploitation requires that Netty's HTTP decoder (HttpObjectDecoder / HttpRequestDecoder) parse attacker-supplied requests, and - critically - that Netty be deployed behind or in front of another HTTP intermediary (reverse proxy, load balancer, or CDN) that disagrees on chunk-line framing, so the bare-CR chunk-size line ('0\rX', no ';' chunk extension) causes a request-boundary desync. No authentication or user interaction is needed to send the crafted request, but a standalone Netty service with no differing intermediary in the chain yields little practical smuggling impact, which limits real-world exploitability to multi-hop HTTP architectures. |
| Impact | This is a genuine but moderate-priority integrity flaw. The vendor CVSS3.1 6.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N) marks it network-reachable and unauthenticated, which is accurate - Netty's HttpObjectDecoder is a passive parser reachable by any client. However, the practical risk depends entirely on deployment topology: HTTP request smuggling only produces impact when Netty sits behind or in front of another HTTP intermediary (proxy/load balancer/CDN) that parses chunk framing differently, creating a front-end/back-end desync. That precondition is not captured by AC:L and realistically pushes real-world exploitation toward AC:H. No EPSS score, no CISA KEV entry, and no exploitation reporting are present in the input, so there is no signal of active exploitation. A working PoC (a JUnit test using HttpRequestDecoder) is embedded directly in the advisory description, so exploit code is public. The CWE-1035 assignment is a VulnDB category, not a weakness - the real classification is CWE-444 (HTTP request smuggling), and the 'Information Disclosure' tag understates/mislabels it (smuggling primarily bypasses access controls and enables request routing manipulation). Net: treat as a real defense-in-depth fix for internet-facing Java services, not an emergency, absent any exploitation evidence. |
| Exploit ScenarioDerived | An attacker sends a POST with 'Transfer-Encoding: chunked' whose terminating chunk-size line contains a bare CR without a chunk extension (e.g. '0\rX'), which Netty accepts instead of rejecting. When Netty is paired with a front-end proxy that interprets the framing differently, the trailing bytes are treated as a second smuggled request ('GET /smuggled'), letting the attacker poison the connection, bypass front-end access controls, or hijack another user's request. A public PoC JUnit test demonstrating the parser acceptance is included in the advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 18, 2026
HTTP request smuggling in Netty's HTTP/1.1 decoder (HttpObjectDecoder and the HttpRequestDecoder built on it) lets remote, unauthenticated attackers send a chunk-size line containing an embedded bare carriage return - for example 0\rX - because strict chunk-line validation is skipped whenever the size line carries no ; chunk extension, causing a request-boundary desync when Netty shares a connection with a second HTTP intermediary that frames the message differently. The flaw reaches every application and Red Hat product that embeds Netty, including AMQ Broker 7, AMQ Clients, Quarkus, Camel 4 for Quarkus 3, Camel for Spring Boot 4, Keycloak / Red Hat Single Sign-On, JBoss EAP 7 and 8, Fuse 7, Data Grid 8, Apicurio Registry 3 and Debezium 3, while independent assessment keeps it at CVSS 6.5 with AC:H because a standalone Netty service with no disagreeing proxy in the chain yields little practical smuggling impact. The public report includes a reproducible PoC test harness, but there is no CISA KEV listing and no evidence of active exploitation.
RemediationAI
The correct fix is upstream, in Netty's HttpObjectDecoder: remove the early return when bytesBefore((byte) ';') yields -1 so that HttpChunkLineValidatingByteProcessor always validates the chunk-size line, not only lines containing a chunk extension - upgrading to a Netty release that carries this correction is the primary remediation. No exact fixed Netty version is stated in the provided input data, so the specific patched version must be confirmed from the upstream Netty project and from the Red Hat advisory at https://access.redhat.com/security/cve/CVE-2026-93566, whose per-product errata (tracked in https://bugzilla.redhat.com/show_bug.cgi?id=2536954) cover AMQ Broker 7, AMQ Clients, Quarkus, Camel 4 for Quarkus 3, Camel for Spring Boot 4, Keycloak, JBoss EAP 7/8, Fuse 7, Data Grid 8, Apicurio Registry 3 and Debezium 3; vendor-released patch availability should be verified per product rather than assumed, since no vendor-released patch version is identified in the supplied data at time of analysis. Until then, the effective compensating control is to break the desynchronization precondition: terminate chunked HTTP/1.1 at a single trusted intermediary (reverse proxy, load balancer or CDN) and have it re-frame requests with strict chunk-size parsing before forwarding to Netty, ensuring both hops use identical, RFC 9112-strict chunk-line rules; configure the front end to reject or normalize any chunk-size line containing a bare CR not followed by LF, understanding that overly aggressive normalization can reject legitimate traffic from non-conformant clients. If chunked transfer encoding is not required on a given listener, disabling it (forcing Content-Length framing or HTTP/2) eliminates the attack surface at the cost of breaking clients that legitimately stream chunked bodies. Disabling connection reuse or keep-alive between hops limits smuggling persistence but adds latency and connection churn. Patching remains the only complete fix, since proxy-side hardening depends on every intermediary in the chain being correctly configured.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
At issue is RFC 9112 chunked transfer coding, whose grammar defines chunk-size = 1*HEXDIG and requires that any bare CR be followed by LF; Netty's io.netty.handler.codec.http.HttpObjectDecoder#checkChunkExtensions locates a ; with bytesBefore((byte) ';') and returns immediately when none is found, so HttpChunkLineValidatingByteProcessor only runs on chunk-size lines that already contain a chunk-extension. That early return means a malformed line such as 0\rX\r\n (terminating chunk with a stray CR and trailing byte, no extension) is accepted instead of rejected, letting an attacker place material that one hop treats as chunk data/terminator and another hop treats as the start of a new request - classic HTTP/1.1 request smuggling. The input is tagged CWE-1035, which is an OWASP Top Ten mapping category rather than a root-cause class; the underlying defect is improper input validation / insufficient neutralization of CR and LF in HTTP message framing (the CWE-444 / CWE-20 family). The CPE strings confirm the exposure is entirely transitive: Red Hat AMQ Broker 7, AMQ Clients, Red Hat Build of Apache Camel 4 for Quarkus 3, Camel for Spring Boot 4, Apicurio Registry 3, Debezium 3, Keycloak, Quarkus, Data Grid 8 and Fuse 7 all bundle Netty, so the vulnerable decoder ships inside each of those distributions. The supplied CVSS 3.1 vector AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N was regraded by our independent assessment to AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N, reflecting that exploitation is network-reachable and requires no authentication or user interaction but demands a specific multi-hop HTTP architecture (reverse proxy, load balancer or CDN that disagrees with Netty on chunk-line parsing) to convert the framing bug into an observable integrity impact.
Know when Netty 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:L/I:L/A:N
Network unauthenticated parser flaw, but reliable smuggling requires a differing upstream/downstream HTTP intermediary (topology dependency), so AC:H; limited confidentiality and integrity impact via request desync, no availability effect.
Primary rating from Vendor (redhat).
CVSS VectorVendor: redhat
DescriptionCVE.org
Summary
Netty skips strict chunk size line validation when the line has no chunk extension (;), so a chunk size line containing an embedded bare CR (e.g. 0\rX) is accepted instead of rejected, enabling HTTP request smuggling.
Details
io.netty.handler.codec.http.HttpObjectDecoder#checkChunkExtensions only runs the strict validator HttpChunkLineValidatingByteProcessor when a ; is present:
int extensionsStart = line.bytesBefore((byte) ';');
if (extensionsStart == -1) {
return;
}According to RFC 9112 https://datatracker.ietf.org/doc/html/rfc9112#appendix-A
chunk-size = 1*HEXDIG
PoC
@Test
public void test() {
String requestStr = "POST / HTTP/1.1\r\n" +
"Host: localhost\r\n" +
"Transfer-Encoding: chunked\r\n\r\n" +
"0\rX\r\n" +
"\r\n" +
"GET /smuggled HTTP/1.1\r\n" +
"Host: localhost\r\n" +
"Content-Length: 0\r\n" +
"\r\n";
EmbeddedChannel channel = new EmbeddedChannel(new HttpRequestDecoder());
assertTrue(channel.writeInbound(Unpooled.copiedBuffer(requestStr, ChThreat 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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Affected Products (CPE)CVE.org
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Netty before 4.1.42.Final mishandles whitespace before the colon in HTTP headers (such as a "Transfer-Encoding : chunked
Certificate revocation-check bypass in the Netty network framework's OCSP client (io.netty:netty-handler-ssl-ocsp) affec
netty-incubator-codec-ohttp is the OHTTP implementation for netty. Rated critical severity (CVSS 9.1), this vulnerabilit
The netty incubator codec.bhttp is a java language binary http parser. Rated high severity (CVSS 8.1), this vulnerabilit
Netty, an asynchronous, event-driven network application framework, has a vulnerability starting in version 4.1.91.Final
Memory exhaustion in Netty's SctpMessageCompletionHandler (netty-transport-sctp) allows unauthenticated remote peers to
Compression-amplification denial of service in the Netty network framework (versions prior to 4.1.136.Final and 4.2.16.F
Memory-amplification denial of service in the Netty network framework (SPDY/3.1 codec) prior to 4.1.136.Final and 4.2.16
Memory-exhaustion denial of service in Netty's HTTP/3 codec (Http3FrameCodec) affects all releases prior to 4.2.16.Final
Netty's HTTP CORS handler silently rewrites the Vary response header to Vary: Origin in releases before 4.1.137.Final an
Denial of service in the Netty HTTP/3 codec (io.netty:netty-codec-http3) prior to version 4.2.15.Final allows remote una
Same technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Linux Enterprise Desktop 15 SP7 SUSE Linux Enterprise Module for Development Tools 15 SP7 SUSE Linux Enterprise Server 15 SP7 SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Fixed |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | Fixed |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Fixed |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Fixed |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Fixed |
| openSUSE Tumbleweed | Fixed |
| SUSE Linux Enterprise Desktop 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| openSUSE Leap 15.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
| suse/manager/5.0/x86_64/server suse/multi-linux-manager/5.1/x86_64/server | Affected |
EUVD-2026-82935
GHSA-9mrj-55p4-qwf4
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB