Skip to main content

Netty netty-codec-http CVE-2026-59898

| EUVDEUVD-2026-50444 MEDIUM
HTTP Request/Response Smuggling (CWE-444)
2026-07-22 https://github.com/netty/netty GHSA-4mp9-239f-g9hg
6.3
CVSS 4.0 · Vendor: https://github.com/netty/netty
View

Attack ChainAIDerived

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

  1. Recon
    Reach Netty HTTP endpoint via network
  2. Delivery
    Send HTTP request with Sec-WebSocket-Version: 7 omitting Connection/Upgrade headers
  3. Exploit
    Proxy forwards as normal HTTP (no upgrade recognized)
  4. Install
    Netty V07 handshaker completes WebSocket protocol switch
  5. C2
    Backend connection desynchronized from proxy state
  6. Execute
    Inject smuggled HTTP request into shared backend connection
  7. Impact
    Access or manipulate co-located user traffic or backend responses

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

Exploitation requires that the Netty application instantiates WebSocketServerHandshakerFactory with support for V07 or V08 protocol versions (i.e., the allowExtensions or version-range configuration includes version 7 or 8); applications that configure V13-only handshakers are not affected. A reverse proxy, load balancer, or CDN edge node must be positioned in front of the Netty instance for the protocol-confusion desynchronization to be leveraged for HTTP request smuggling - without an intermediary, the attacker only completes an unintended WebSocket upgrade rather than smuggling requests into other users' traffic. The attacker must be able to send arbitrary HTTP headers (including Sec-WebSocket-Version: 7) to the proxied endpoint, which is possible from any network-reachable HTTP client. Authentication requirements are not confirmed by a CVSS vector in the available data; however, the described attack path operates at the HTTP header level prior to any application-layer authentication. The V07/V08 handshakers are legacy and less commonly enabled than V13, so this condition meaningfully limits the exposed population.

Impact

No CVSS vector or EPSS score is provided in the available data, preventing quantitative scoring. From the description and CWE-444 classification, the attack is network-reachable and requires no authentication (header manipulation in a plain HTTP request), but the smuggling impact is only weaponizable when a proxy or load balancer sits in front of the Netty instance - without this intermediary, an attacker completes an unexpected WebSocket upgrade but cannot leverage the desync for cross-user impact. This topology dependency elevates attack complexity from a real-world standpoint even though the manipulation itself is trivially simple. There is no CISA KEV listing and no evidence of public exploit code, making active exploitation unconfirmed; however, HTTP desync techniques are well-understood in the security community, lowering the bar for skilled attackers. Deployments running Netty behind nginx, HAProxy, AWS ALB, or similar proxies with V07/V08 WebSocket support enabled represent the highest-risk tier. Deployments that expose Netty directly or enforce V13-only WebSocket are materially less exposed. The CWE-444 tag aligns with the HTTP request smuggling / protocol confusion impact, but actual data exfiltration severity depends on what is accessible over shared backend connections.

Exploit ScenarioDerived

An attacker targeting a Netty-backed WebSocket service behind a reverse proxy crafts an HTTP request containing Sec-WebSocket-Version: 7 while deliberately omitting Connection: Upgrade and Upgrade: websocket headers; the proxy, seeing no upgrade signal, treats this as a normal HTTP request and forwards it without establishing a dedicated WebSocket tunnel, while Netty's V07 handshaker silently completes the protocol switch. The attacker then exploits the resulting connection desynchronization to prepend a smuggled HTTP request to the next legitimate user's traffic flowing over the shared backend connection, potentially reading that user's session token, request body, or response, or injecting a response that poisons a shared cache. No public proof-of-concept code has been identified at time of analysis, but the technique maps directly to well-documented HTTP request smuggling methodology.

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

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

Alert me

AnalysisAIv1 – Jul 22, 2026

WebSocket protocol upgrade in Netty's V07/V08 handshakers completes without enforcing RFC 6455-mandatory Connection: Upgrade and Upgrade: websocket headers, enabling an attacker to silently switch protocols in a way that upstream reverse proxies and load balancers do not recognize as an Upgrade request. This desynchronization between proxy and backend creates a classic HTTP request smuggling vector (CWE-444) that can be exploited to poison shared connections, bypass proxy-enforced access controls, or hijack other users' HTTP sessions. Affected versions are io.netty:netty-codec-http prior to 4.1.136.Final and 4.2.0.Final through 4.2.15.Final; no public exploit code or CISA KEV listing has been identified at time of analysis.

RemediationAI

Upgrade io.netty:netty-codec-http to version 4.1.136.Final (4.1.x line) or 4.2.16.Final (4.2.x line); both are confirmed fixed releases available from the Netty project at https://github.com/netty/netty/releases/tag/netty-4.1.136.Final and https://github.com/netty/netty/releases/tag/netty-4.2.16.Final. For transitive dependencies via frameworks such as Spring WebFlux or Reactor Netty, override the Netty BOM version in your dependency management to force the patched artifact version - verify the effective version with mvn dependency:tree or gradle dependencies. If patching is not immediately possible, configure the upstream proxy (nginx, HAProxy, AWS ALB) to reject any WebSocket handshake request that lacks both Connection: Upgrade and Upgrade: websocket headers before forwarding to Netty; this eliminates the proxy-side desync but may reject non-compliant but legitimate legacy WebSocket clients using V07/V08. A narrower alternative is to restrict WebSocketServerHandshakerFactory to V13-only by passing the appropriate version parameter, eliminating the vulnerable code path if your clients do not require V07/V08 support.

Affected VersionsENISA

netty 4.2.0.Final, < 4.2.16.Final
netty < 4.1.136.Final

Affected Packages

maven io.netty:netty-codec-http fix: 4.1.136.Final, 4.2.16.Final
euvd netty fix: 4.1.136.Final
euvd netty_4_2_0_final fix: 4.2.16.Final

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

Netty is a high-performance, asynchronous, event-driven network application framework for Java, widely used as the HTTP/WebSocket engine in enterprise middleware, microservice frameworks (Vert.x, Quarkus, Spring WebFlux), and cloud-native services. The affected Maven artifact is io.netty:netty-codec-http. The V07 and V08 WebSocket handshakers (WebSocketServerHandshaker07, WebSocketServerHandshaker08) predate the standardized RFC 6455 (V13) handshaker and historically applied looser validation. The root cause (CWE-444 - Inconsistent Interpretation of HTTP Requests) is that these handshakers check the Sec-WebSocket-Version: 7 or 8 header to identify WebSocket upgrade intent but do not validate the presence of the co-required Connection: Upgrade and Upgrade: websocket headers. RFC 6455 §4.1 mandates both, and reverse proxies universally use these headers to identify and route upgrade traffic. Without them, the proxy classifies the request as normal HTTP while Netty's backend transitions the connection to WebSocket - a textbook protocol desync that is the prerequisite for HTTP request smuggling.

Know when the next one hits your stack

  • 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 (https://github.com/netty/netty) PRIMARY 6.3 MEDIUM
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
vuln.today AI 5.4 MEDIUM

Network-reachable with no auth required, but AC:H because smuggling impact requires a proxy intermediary; S:C for cross-boundary desync affecting proxy and co-tenant HTTP sessions; no availability impact described.

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

Primary rating from Vendor (https://github.com/netty/netty).

CVSS VectorVendor: https://github.com/netty/netty

Attack Vector
Network
Attack Complexity
High
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

Lifecycle Timeline

2
CVSS changed
Jul 29, 2026 - 19:22 NVD
6.3 (MEDIUM)
CVE Published
Jul 22, 2026 - 21:48 cve.org
MEDIUM

DescriptionCVE.org

Summary

An attacker can force WebSocket upgrade via the lax V07 (or V08) handshaker by sending Sec-WebSocket-Version: 7 and omitting Connection: Upgrade / Upgrade: websocket headers, completing a protocol switch that a proxy would not recognize as an Upgrade request and enabling HTTP request smuggling / protocol-confusion attacks.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 344 maven packages depend on io.netty:netty-codec-http (32 direct, 312 indirect)

Ecosystem-wide dependent count for version 4.2.0.Final.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
High
core async networking framework embedded in major Java/JVM enterprise stacks
Threat Intel
1
1 source
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

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.3%
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
No
Human Impact· derived
High
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

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.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected
SUSE Linux Enterprise Module for Development Tools 15 SP7 Not-Affected

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