ZeroHour

CVE-2026-59919

PoC large

CRLF injection in Netty HAProxy encoder allows forged PROXY header lines

CVSS 3.1
5.5 medium
EPSS
<1%p4
Published
()
Modified
AI analysis

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.

Affected
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
Estimated exposure
large≈hundreds of thousands of deployments (rough estimate) — No install counts are provided in the data; the estimate reflects Netty's status as one of the most widely embedded Java networking libraries (very high Maven Central download volume and a transitive dependency of many widely deployed Java…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

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 news

No ingested article mentions this CVE yet.