CVE-2026-50020 Netty's HttpObjectDecoder skips arbitrary initial control characters when only initial CRLF characters are permitted
Netty's HTTP decoder improperly skips non-CRLF control characters, enabling request-boundary confusion in pipelined or multiplexed transports.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-50020?
CVE-2026-50020 is a medium-severity vulnerability in Netty Netty, published on 12 Jun 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Netty is a network application framework for development of protocol servers and clients. Prior to versions 4.1.135.Final and 4.2.15.Final, before reading the first request-line, `HttpObjectDecoder` skips every byte for which `Character.isISOControl(b)` is `true` (0x00–0x1F and 0x7F) as well as all whitespace. RFC 9112 §2.2 only asks servers to ignore empty CRLF lines preceding the request-line — a carefully scoped robustness allowance intended to handle HTTP/1.0 POST workarounds. Silently absorbing NUL bytes, SOH, STX, and other non-CRLF control characters goes significantly beyond this, and can be exploited for request-boundary confusion in pipelined or multiplexed transports where a front-end component treats those bytes differently. Versions 4.1.135.Final and 4.2.15.Final patch the issue.
Weakness: CWE-444
Which versions are affected by CVE-2026-50020?
4 open source packages ship an affected version, including io.netty:netty-codec-http. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
io.netty:netty-codec-http Maven | All versions | 4.1.135.Final |
io.netty:netty-codec-http Maven | All versions | 4.1.135.Final |
io.netty:netty-codec-http Maven | From 4.2.0.Final | 4.2.15.Final |
io.netty:netty-codec-http Maven | From 4.2.0.Final | 4.2.15.Final |
Products include Netty Netty.
How do I fix CVE-2026-50020?
Upgrade io.netty:netty-codec-http to a fixed version for your release line: 4.1.135.Final or 4.2.15.Final.
Is CVE-2026-50020 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-50020 exists.
Other vulnerabilities in Netty Netty
- CVE-2026-75595 Netty: SNI Routing Bypass via Fragmented TLS ClientHello Causing Fallback to Default SslContext
- CVE-2026-75596 Netty: Fragmented ClientHello records trigger quadratic pre-handshake reassembly in default SNI parsing
- CVE-2026-59901 Netty Bzip2Decoder: Infinite Loop in RLE State Machine Leads to Event-Loop Thread Hang
- CVE-2026-55851 Netty codec-haproxy: Signed-Byte Sentinel Collision in HAProxyMessageDecoder Leads to Unbounded Memory Exhaustion
- CVE-2026-56745 Netty SpdyHttpDecoder: ByteBuf Reference Leak on RST_STREAM Leads to Native Memory Exhaustion
Sources
Also known as CLEANSTART-2026-FQ42724, CLEANSTART-2026-NT22558, CLEANSTART-2026-QB68798, CLEANSTART-2026-VO96639, CLEANSTART-2026-YX18687, DEBIAN-CVE-2026-50020 and 96 more.