VDB
KO
MEDIUM

GHSA-c69g-56f8-xwqj

Netty: [codec-http2] Lack of Host Header Deduplication in HTTP/2→HTTP/1.x Translation Leads to Request Routing Bypass

Quick fix

GHSA-c69g-56f8-xwqj — io.netty:netty-codec-http2: upgrade to the fixed version with the command below.

# pom.xml: bump <version>4.2.16.Final</version> for io.netty:netty-codec-http2

Details

Netty's HTTP/2-to-HTTP/1.x translation layer (`Http2StreamFrameToHttpObjectCodec` and `InboundHttp2ToHttpAdapter`) fails to deduplicate or validate `Host` headers when an HTTP/2 client supplies both the `:authority` pseudo-header and a literal `host` header in a single HEADERS frame. The translator maps `:authority` to `Host` and separately copies the literal `host` header, producing an `HttpRequest` object containing two `Host` headers with attacker-controlled differing values.

Are you affected?

Enter the version of the package you're using.

Affected packages

Maven / io.netty:netty-codec-http2
Introduced in: 4.2.0.Final Fixed in: 4.2.16.Final
Fix # pom.xml: bump <version>4.2.16.Final</version> for io.netty:netty-codec-http2
Maven / io.netty:netty-codec-http2
Introduced in: 0 Fixed in: 4.1.136.Final
Fix # pom.xml: bump <version>4.1.136.Final</version> for io.netty:netty-codec-http2

References