CVE-2026-59919
PoC largeCRLF injection in Netty HAProxy encoder allows forged PROXY header lines
Netty's HAProxyMessageEncoder writes AF_UNIX source and destination socket addresses into the HAProxy V1 text protocol without validating them for carriage-return or line-feed characters, so a crafted AF_UNIX address can inject CRLF sequences and split the single PROXY header into multiple lines (CWE-93; CVSS 3.1: 5.5). An attacker who controls an AF_UNIX address presented to the encoder — a local, low-privilege attack vector per the CVSS scoring — can forge an additional PROXY header line that downstream servers or load balancers treat as authoritative. The attacker gains spoofing of the client source and destination IP addresses seen by downstream consumers (high integrity impact, with no confidentiality or availability loss). Users of Netty versions before 4.1.136.Final and 4.2.16.Final who employ the HAProxyMessageEncoder with AF_UNIX addresses are affected; because Netty is broadly embedded in Java server software, the version-affected footprint is large even though the specific encoder-plus-AF_UNIX code path is narrow. No in-the-wild exploitation is known (EPSS 0.1%, not in CISA KEV), but a public advisory with a PoC reference has been published as GHSA-wh89-7897-x99h.
What to do: Upgrade to Netty 4.1.136.Final or 4.2.16.Final, or later. Where an immediate upgrade is not possible, avoid emitting HAProxy PROXY V1 headers for AF_UNIX addresses, or strip CR/LF characters from AF_UNIX address strings before they reach the encoder. Audit downstream PROXY-protocol consumers to determine whether spoofed source/destination addresses could affect allowlists, rate limiting, or security-relevant logging.
| netty | < 4.1.136.Final (4.1.x line) and < 4.2.16.Final (4.2.x line); fixed in 4.1.136.Final and 4.2.16.Final |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
Netty is an asynchronous, event-driven network application framework. In versions prior to 4.1.136.Final and 4.2.16.Final, Netty's HAProxy encoder ( HAProxyMessageEncoder ) writes AF_UNIX source and destination socket addresses into the HAProxy V1 text protocol without validating them for CRLF characters, so an attacker who controls an AF_UNIX address can inject \r\n sequences and split the single PROXY header into multiple lines. This is possible because the V1 protocol uses CRLF as its line terminator and, unlike IPv4/IPv6 addresses whose format checks implicitly reject CRLF, AF_UNIX addresses are only validated for length (up to 108 bytes), allowing a forged second PROXY header line that spoofs the client source/destination IP to a downstream server or load balancer. The issue is fixed in versions 4.1.136.Final and 4.2.16.Final.
- Vendors
- netty
- Products
- netty
- Weakness
- CWE-93
- Vector
- CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
In the news0 stories
No ingested article mentions this CVE yet.