Skip to main content
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach Netty-fronted HTTP endpoint
  2. Delivery
    Send chunked request with bare-CR chunk-size line
  3. Exploit
    Parser accepts malformed terminator
  4. Execution
    Desync front-end vs Netty framing
  5. Persist
    Smuggled request injected on connection
  6. Impact
    Bypass 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Vendor (redhat) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
vuln.today AI 4.8 MEDIUM

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.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
SUSE MEDIUM
Red Hat 6.5 MEDIUM

Primary rating from Vendor (redhat).

CVSS VectorVendor: redhat

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

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:

java
        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

java
@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, Ch

Threat Intelligence Overview

EPSS Score
0.4%
Top 68% exploitable
Prevalence
High
Netty HTTP codec is ubiquitous in Java server stacks and Red Hat middleware
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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

cpe:2.3:a:red_hat:red_hat_amq_broker_7:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_amq_clients:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_build_of_apache_camel_4_for_quarkus_3:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_build_of_apache_camel_for_spring_boot_4:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_build_of_apicurio_registry_3:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_build_of_debezium_3:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_build_of_keycloak:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_build_of_quarkus:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_data_grid_8:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_fuse_7:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_jboss_enterprise_application_platform_7:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_jboss_enterprise_application_platform_8:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_single_sign-on_7:*:*:*:*:*:*:*:*

More in Netty

View all
CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2019-16869 HIGH POC
7.5 Sep 26

Netty before 4.1.42.Final mishandles whitespace before the colon in HTTP headers (such as a "Transfer-Encoding : chunked

CVE-2026-56820 CRITICAL POC
9.1 Jul 21

Certificate revocation-check bypass in the Netty network framework's OCSP client (io.netty:netty-handler-ssl-ocsp) affec

CVE-2024-36121 CRITICAL POC
9.1 Jun 04

netty-incubator-codec-ohttp is the OHTTP implementation for netty. Rated critical severity (CVSS 9.1), this vulnerabilit

CVE-2024-40642 HIGH POC
8.1 Jul 18

The netty incubator codec.bhttp is a java language binary http parser. Rated high severity (CVSS 8.1), this vulnerabilit

CVE-2025-24970 HIGH POC
7.5 Feb 10

Netty, an asynchronous, event-driven network application framework, has a vulnerability starting in version 4.1.91.Final

CVE-2026-59902 HIGH POC
7.5 Aug 17

Memory exhaustion in Netty's SctpMessageCompletionHandler (netty-transport-sctp) allows unauthenticated remote peers to

CVE-2026-55833 HIGH POC
7.5 Jul 20

Compression-amplification denial of service in the Netty network framework (versions prior to 4.1.136.Final and 4.2.16.F

CVE-2026-55831 HIGH POC
7.5 Jul 20

Memory-amplification denial of service in the Netty network framework (SPDY/3.1 codec) prior to 4.1.136.Final and 4.2.16

CVE-2026-56816 HIGH POC
7.5 Jul 21

Memory-exhaustion denial of service in Netty's HTTP/3 codec (Http3FrameCodec) affects all releases prior to 4.2.16.Final

CVE-2026-59903 HIGH POC
7.5 Aug 17

Netty's HTTP CORS handler silently rewrites the Vary response header to Vary: Origin in releases before 4.1.137.Final an

CVE-2026-48748 HIGH POC
7.5 Jun 12

Denial of service in the Netty HTTP/3 codec (io.netty:netty-codec-http3) prior to version 4.2.15.Final allows remote una

Vendor 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

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy