Medium

Possible request smuggling in HTTP/2 due missing validation

  • Disclosed: 09.03.2021
  • Updated: 11.10.2026 13:19

Impact

If a Content-Length header is present in the original HTTP/2 request, the field is not validated by Http2MultiplexHandler as it is propagated up. This is fine as long as the request is not proxied through as HTTP/1.1. If the request comes in as an HTTP/2 stream, gets converted into the HTTP/1.1 domain objects (HttpRequest, HttpContent, etc.) via Http2StreamFrameToHttpObjectCodec and then sent up to the child channel's pipeline and proxied through a remote peer as HTTP/1.1 this may result in request smuggling.

In a proxy case, users may assume the content-length is validated somehow, which is not the case. If the request is forwarded to a backend channel that is a HTTP/1.1 connection, the Content-Length now has meaning and needs to be checked.

An attacker can smuggle requests inside the body as it gets downgraded from HTTP/2 to HTTP/1.1. A sample attack request looks like:

POST / HTTP/2
:authority:: externaldomain.com
Content-Length: 4

asdfGET /evilRedirect HTTP/1.1
Host: internaldomain.com

Users are only affected if all of this is true:

  • HTTP2MultiplexCodec or Http2FrameCodec is used
  • Http2StreamFrameToHttpObjectCodec is used to convert to HTTP/1.1 objects
  • These HTTP/1.1 objects are forwarded to another remote peer.

Patches

This has been patched in 4.1.60.Final

Workarounds

The user can do the validation by themselves by implementing a custom ChannelInboundHandler that is put in the ChannelPipeline behind Http2StreamFrameToHttpObjectCodec.

References

Related change to workaround the problem: https://github.com/Netflix/zuul/pull/980

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
Java / Kotlin (Maven) io.netty:netty all versions no fix
Java / Kotlin (Maven) io.netty:netty-codec-http2 >= 4.0.0, < 4.1.60.Final 4.1.60.Final
Java / Kotlin (Maven) org.jboss.netty:netty all versions no fix

References

CVSS score 5.9/10
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
Weakness (CWE)
CWE-444
Platform
Java / Kotlin (Maven)
Package
io.netty:netty, io.netty:netty-codec-http2, org.jboss.netty:netty
Disclosed
09.03.2021
Updated
11.10.2026 13:19

Sources and licenses

OSV / GitHub Advisory Database - GHSA-wm47-8v5p-wjpj - CC BY 4.0

Vulnerability history: io.netty:netty-codec-http2

All published vulnerabilities of this package (Java / Kotlin (Maven)), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (11) in the archive
Total entries
11
First → latest
03.2021 07.2026
Without a fix
0
Exploited in attacks
0

Severity breakdown

  • High 5
  • Medium 6

Disclosures per year

  1. 2021: 2
  2. 2022: 0
  3. 2023: 1
  4. 2024: 0
  5. 2025: 1
  6. 2026: 7
Severity:
  1. High · 7.5 CVE-2026-56819 >= 4.2.0, < 4.2.16.Final, >= 4.1.0.Final, < 4.1.136.Final 4.2.16.Final, 4.1.136.Final
  2. High · 7.5 CVE-2026-42587 >= 4.2.0.Alpha1, < 4.2.13.Final, < 4.1.133.Final 4.2.13.Final, 4.1.133.Final
  3. High CVE-2026-33871 < 4.1.132.Final, >= 4.2.0.Alpha1, < 4.2.11.Final 4.1.132.Final, 4.2.11.Final
  4. High · 7.5 CVE-2025-55163 >= 4.2.0.Alpha1, < 4.2.4.Final, < 4.1.124.Final 4.2.4.Final, 4.1.124.Final
  5. High · 7.5 ghsa-xpw8-rcwv-8f8p < 4.1.100.Final 4.1.100.Final
  6. Possible request smuggling in HTTP/2 due missing validation this entry
    Medium · 5.9 CVE-2021-21295 >= 4.0.0, < 4.1.60.Final 4.1.60.Final

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.