CVE-2026-50020
Netty: HttpObjectDecoder skips arbitrary initial control characters when only initial CRLF characters are permitted
Impact
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.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| maven | io.netty:netty-codec-http | >= 4.2.0.Final, <= 4.2.14.Final | 4.2.15.Final |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Netty | Netty | before 4.1.135 from 4.2.0 before 4.2.15 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-hvcg-qmg6-jm4c
- https://github.com/netty/netty/security/advisories/GHSA-hvcg-qmg6-jm4c
- https://nvd.nist.gov/vuln/detail/CVE-2026-50020
- https://github.com/netty/netty/releases/tag/netty-4.1.135.Final
- https://github.com/netty/netty/releases/tag/netty-4.2.15.Final