Netty 4.2.0 through 4.2.17 HTTP/3 Request Routing Bypass
What fixes it
- 4.2.18.FinalnettyCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
Netty's HTTP/3 codec (io.netty:netty-codec-http3) in versions 4.2.0.Final through 4.2.17.Final does not enforce the RFC 9114 requirement that the :authority pseudo-header field and a literal host header field, when both present, carry the same value. A remote unauthenticated peer can send a single HEADERS frame containing both fields with differing, attacker-controlled values; the request is accepted and delivered to the application with two conflicting authorities, allowing routing, virtual-host, and access-control decisions to be bypassed when different components in the request path consult different fields. This issue is fixed in 4.2.18.Final.
Text from CVE List
Affected versions 2
- nettyaffected: 4.2.0.Final before 4.2.18.FinalCVE List
- nettyunaffected: 4.2.18.FinalCVE List