Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach Netty HTTP/1.1 endpoint (unauthenticated)
-
DeliveryPipeline GET with Expect:100-continue then HEAD
-
Exploit100 Continue consumes queued GET method
-
ExecutionResponses mispaired, HEAD body read as GET body
-
ImpactResponse splitting and unsafe connection reuse
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V4 - API and Web Service HTTP request consistency
|
| Exploitation Conditions | Requires a server built on Netty's HttpServerCodec (io.netty:netty-codec-http) in the affected ranges 4.2.0.Final-4.2.16.Final or ≤4.1.136.Final, handling HTTP/1.1 with request pipelining and Expect/100-continue support (the default codec behavior). The concrete trigger is a single pipelined stream: an HTTP/1.1 GET carrying 'Expect: 100-continue' immediately followed by a HEAD request on the same keep-alive connection. Exploitation is unauthenticated and needs no user interaction (PR:N/UI:N). Limiting factors: real-world impact is amplified when the vulnerable Netty server sits behind a shared/pooled connection (front-end proxy, load balancer, or CDN) so that a desynchronized connection is reused across clients; deployments that disable HTTP/1.1 pipelining or terminate/normalize responses at an upstream that does not reuse the connection reduce the practical risk. |
| Impact | This is a genuine but moderate-priority integrity flaw rather than a high-urgency crisis. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, VC:L/VI:L/VA:L, score 6.9) indicates fully remote, unauthenticated, low-complexity exploitation against affected default configurations - no user interaction, no privileges, no special attack requirement. That accessibility is offset by low technical impact per metric (each of C/I/A rated Low, no scope change), consistent with a response-desynchronization/smuggling issue (CWE-444) whose consequence is response splitting and unsafe connection reuse rather than direct code execution or data theft. No EPSS score, no CISA KEV listing, and no public POC were provided, so exploitation status is 'no public exploit identified at time of analysis' - this is not confirmed exploited and not known automatable in the wild. Signals are broadly consistent (network vector matches an HTTP-parser bug), with one nuance: the input Tags label this 'Information Disclosure' while CWE-444 and the description point to request/response smuggling (an integrity problem), where any confidentiality impact is a secondary effect of one client receiving another's response. Net: real, patchable, worth remediating in JVM HTTP stacks, but low real-world urgency absent exploitation evidence. |
| Exploit ScenarioDerived | An unauthenticated attacker (or a malicious client behind a shared proxy/load balancer that reuses the connection) sends a single pipelined HTTP/1.1 stream to a Netty-backed server: a GET carrying 'Expect: 100-continue' immediately followed by a HEAD request. The server's 100 Continue response wrongly consumes the queued GET method, so the GET's 200 OK is paired with HEAD (its body dropped) and the HEAD response is written with a body, desynchronizing the connection so the HEAD response body is interpreted as the GET body - enabling response splitting and poisoned connection reuse. No public exploit code was identified in the provided data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 26, 2026
Unauthenticated remote attackers can desynchronize HTTP/1.1 response parsing in Netty's HttpServerCodec (io.netty:netty-codec-http) versions 4.2.0.Final through 4.2.16.Final and all versions up to and including 4.1.136.Final by pipelining a GET carrying 'Expect: 100-continue' immediately followed by a HEAD request on the same keep-alive connection. Because the codec pairs each outbound response - including the 100 Continue informational response - with a queued inbound method via pollMethod(), the GET's 200 OK is matched to HEAD and its entity body is dropped, while the following 200 OK (intended for HEAD) is emitted with a body; this misattributes content across responses, enabling response splitting and unsafe reuse of the connection. It is a genuine but moderate-priority integrity flaw (vendor CVSS 4.0 score 6.9; independent assessment CVSS 3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N), with no public exploit identified at time of analysis and vendor-released patches available in 4.2.17.Final and 4.1.137.Final.
RemediationAI
Vendor-released patch: upgrade the io.netty:netty-codec-http dependency to 4.2.17.Final or 4.1.137.Final, which correct the pollMethod() accounting so that 1xx informational responses no longer consume a queued request method; rebuild and redeploy any application that bundles Netty so the updated artifact is actually packaged. Per the upstream advisory at https://github.com/netty/netty/security/advisories/GHSA-2g6j-r8q9-5hr8, no other configuration change is required once patched; the VulnCheck advisory at https://www.vulncheck.com/advisories/netty-4.2.0-through-4.2.17-response-desynchronization-via-httpservercodec provides additional context. If immediate upgrading is not possible, reduce exposure by ensuring front-end proxies, load balancers, and CDNs do not pool or reuse upstream connections across distinct clients when talking to the vulnerable Netty service - for example by disabling upstream keep-alive or connection reuse - since isolating each client's upstream connection prevents a desynchronized stream from being observed by another user; the trade-off is higher connection setup overhead and lower throughput. Alternatively, disable HTTP/1.1 request pipelining and/or strip or reject 'Expect: 100-continue' handling at the edge so the 1xx/HEAD trigger sequence cannot reach the codec, at the cost of losing 100-continue latency optimization and potentially breaking clients that depend on it. Deployments that terminate HTTP/1.1 entirely and only pass HTTP/2 or otherwise normalized single-request-per-connection traffic are not exposed to the pipelined trigger, though upgrading remains the definitive fix.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Netty is a widely used asynchronous, event-driven network framework, and netty-codec-http (CPE cpe:2.3:a:netty:netty) implements its HTTP/1.x encoder and decoder. HttpServerCodec tracks the HTTP method of each inbound request in a queue so that the corresponding outbound response can be encoded correctly - most critically deciding whether a response may carry a body (GET allows a body; HEAD does not). In the affected builds, the codec calls pollMethod() once per outbound response written, and that accounting erroneously includes 1xx informational responses such as '100 Continue'. When a client pipelines an HTTP/1.1 GET with 'Expect: 100-continue' followed immediately by a HEAD request, the interim 100 Continue consumes the queued GET method; the subsequent final response for the GET is therefore encoded as though it were the response to HEAD (body suppressed), and the response to the HEAD request is encoded as though it were the GET response (body emitted). This is a classic inconsistent-interpretation-of-HTTP defect (CWE-444, request/response smuggling class) in which the two ends of the connection disagree about message framing and body ownership. The practical severity depends on deployment topology: the desynchronization is dangerous primarily when the vulnerable Netty server sits behind a front-end proxy, load balancer, or CDN that pools and reuses upstream keep-alive connections across different clients, because a poisoned connection can then deliver one client's response body to another client or be used for cache poisoning. Netty deployments that disable HTTP/1.1 pipelining or that terminate and normalize responses upstream without connection reuse largely avoid the cross-client consequence.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
Remote, unauthenticated, low-complexity HTTP pipelining (AV:N/AC:L/PR:N/UI:N); smuggling causes response mispairing (I:L) with incidental cross-response exposure (C:L) and no availability impact.
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Netty's HttpServerCodec (io.netty:netty-codec-http) in versions 4.2.0.Final through 4.2.16.Final and in versions up to and including 4.1.136.Final pairs each outbound response with an inbound request by calling pollMethod() once per response, including for 1xx informational responses. If a client pipelines an HTTP/1.1 GET carrying an Expect: 100-continue header followed by a HEAD request, the 100 Continue response consumes the queued GET method, so the subsequent 200 OK for the GET is paired with HEAD and its body is dropped, while the following 200 OK for the HEAD request is written with a body. This desynchronizes HTTP parsing on the connection: the GET entity is never delivered and the HEAD response body is interpreted as the GET body, resulting in response splitting and unsafe connection reuse. Fixed in 4.2.17.Final and 4.1.137.Final.
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
HTTP request smuggling exploits inconsistencies in how front-end and back-end servers parse HTTP message boundaries.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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 weakness CWE-444 – HTTP Request/Response Smuggling
View allSame technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | 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-87760
GHSA-jq5g-c66v-g3r2
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB