CVE-2021-21295: Possible request smuggling in HTTP/2 due missing validation

Published Mar 9, 2021
·
Updated

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

Other sources

In Netty (io.netty:netty-codec-http2) before version 4.1.60.Final there is a vulnerability that enables request smuggling. 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.

Affected Software

80 affected componentsFixes available
maven/io.netty:netty<4.0.0
maven/org.jboss.netty:netty<4.0.0
maven/io.netty:netty-codec-http2>=4.0.0<4.1.60.Final
4.1.60.Final
redhat/qpid-proton<0:0.33.0-6.el7_9
0:0.33.0-6.el7_9
redhat/qpid-proton<0:0.33.0-8.el8
0:0.33.0-8.el8
redhat/eap7-artemis-wildfly-integration<0:1.0.4-1.redhat_00001.1.el6ea
0:1.0.4-1.redhat_00001.1.el6ea
redhat/eap7-bouncycastle<0:1.68.0-2.redhat_00005.1.el6ea
0:1.68.0-2.redhat_00005.1.el6ea
redhat/eap7-hal-console<0:3.2.14-1.Final_redhat_00001.1.el6ea
0:3.2.14-1.Final_redhat_00001.1.el6ea
redhat/eap7-infinispan<0:9.4.22-3.Final_redhat_00001.1.el6ea
0:9.4.22-3.Final_redhat_00001.1.el6ea
redhat/eap7-ironjacamar<0:1.4.30-1.Final_redhat_00001.1.el6ea
0:1.4.30-1.Final_redhat_00001.1.el6ea
redhat/eap7-jboss-genericjms<0:2.0.9-1.Final_redhat_00001.1.el6ea
0:2.0.9-1.Final_redhat_00001.1.el6ea
redhat/eap7-jboss-marshalling<0:2.0.11-1.Final_redhat_00001.1.el6ea
0:2.0.11-1.Final_redhat_00001.1.el6ea
redhat/eap7-jboss-server-migration<0:1.7.2-6.Final_redhat_00007.1.el6ea
0:1.7.2-6.Final_redhat_00007.1.el6ea
redhat/eap7-jboss-weld<3.1-api-0:3.1.0-6.SP3_redhat_00001.1.el6ea
3.1-api-0:3.1.0-6.SP3_redhat_00001.1.el6ea
redhat/eap7-jgroups-kubernetes<0:1.0.16-1.Final_redhat_00001.1.el6ea
0:1.0.16-1.Final_redhat_00001.1.el6ea
redhat/eap7-netty<0:4.1.60-1.Final_redhat_00001.1.el6ea
0:4.1.60-1.Final_redhat_00001.1.el6ea
redhat/eap7-resteasy<0:3.11.4-1.Final_redhat_00001.1.el6ea
0:3.11.4-1.Final_redhat_00001.1.el6ea
redhat/eap7-undertow<0:2.0.35-1.SP1_redhat_00001.1.el6ea
0:2.0.35-1.SP1_redhat_00001.1.el6ea
redhat/eap7-velocity<0:2.3.0-1.redhat_00001.1.el6ea
0:2.3.0-1.redhat_00001.1.el6ea
redhat/eap7-weld-core<0:3.1.6-1.Final_redhat_00001.1.el6ea
0:3.1.6-1.Final_redhat_00001.1.el6ea
redhat/eap7-wildfly<0:7.3.7-1.GA_redhat_00002.1.el6ea
0:7.3.7-1.GA_redhat_00002.1.el6ea
redhat/eap7-wildfly-elytron<0:1.10.12-1.Final_redhat_00001.1.el6ea
0:1.10.12-1.Final_redhat_00001.1.el6ea
redhat/eap7-wildfly-http-client<0:1.0.26-1.Final_redhat_00001.1.el6ea
0:1.0.26-1.Final_redhat_00001.1.el6ea
redhat/eap7-xalan-j2<0:2.7.1-36.redhat_00013.1.el6ea
0:2.7.1-36.redhat_00013.1.el6ea
redhat/eap7-yasson<0:1.0.9-1.redhat_00001.1.el6ea
0:1.0.9-1.redhat_00001.1.el6ea
redhat/eap7-artemis-wildfly-integration<0:1.0.4-1.redhat_00001.1.el7ea
0:1.0.4-1.redhat_00001.1.el7ea
redhat/eap7-bouncycastle<0:1.68.0-2.redhat_00005.1.el7ea
0:1.68.0-2.redhat_00005.1.el7ea
redhat/eap7-hal-console<0:3.2.14-1.Final_redhat_00001.1.el7ea
0:3.2.14-1.Final_redhat_00001.1.el7ea
redhat/eap7-infinispan<0:9.4.22-3.Final_redhat_00001.1.el7ea
0:9.4.22-3.Final_redhat_00001.1.el7ea
redhat/eap7-ironjacamar<0:1.4.30-1.Final_redhat_00001.1.el7ea
0:1.4.30-1.Final_redhat_00001.1.el7ea
redhat/eap7-jboss-genericjms<0:2.0.9-1.Final_redhat_00001.1.el7ea
0:2.0.9-1.Final_redhat_00001.1.el7ea
redhat/eap7-jboss-marshalling<0:2.0.11-1.Final_redhat_00001.1.el7ea
0:2.0.11-1.Final_redhat_00001.1.el7ea
redhat/eap7-jboss-server-migration<0:1.7.2-6.Final_redhat_00007.1.el7ea
0:1.7.2-6.Final_redhat_00007.1.el7ea
redhat/eap7-jboss-weld<3.1-api-0:3.1.0-6.SP3_redhat_00001.1.el7ea
3.1-api-0:3.1.0-6.SP3_redhat_00001.1.el7ea
redhat/eap7-jgroups-kubernetes<0:1.0.16-1.Final_redhat_00001.1.el7ea
0:1.0.16-1.Final_redhat_00001.1.el7ea
redhat/eap7-netty<0:4.1.60-1.Final_redhat_00001.1.el7ea
0:4.1.60-1.Final_redhat_00001.1.el7ea
redhat/eap7-resteasy<0:3.11.4-1.Final_redhat_00001.1.el7ea
0:3.11.4-1.Final_redhat_00001.1.el7ea
redhat/eap7-undertow<0:2.0.35-1.SP1_redhat_00001.1.el7ea
0:2.0.35-1.SP1_redhat_00001.1.el7ea
redhat/eap7-velocity<0:2.3.0-1.redhat_00001.1.el7ea
0:2.3.0-1.redhat_00001.1.el7ea
redhat/eap7-weld-core<0:3.1.6-1.Final_redhat_00001.1.el7ea
0:3.1.6-1.Final_redhat_00001.1.el7ea
redhat/eap7-wildfly<0:7.3.7-1.GA_redhat_00002.1.el7ea
0:7.3.7-1.GA_redhat_00002.1.el7ea
redhat/eap7-wildfly-elytron<0:1.10.12-1.Final_redhat_00001.1.el7ea
0:1.10.12-1.Final_redhat_00001.1.el7ea
redhat/eap7-wildfly-http-client<0:1.0.26-1.Final_redhat_00001.1.el7ea
0:1.0.26-1.Final_redhat_00001.1.el7ea
redhat/eap7-xalan-j2<0:2.7.1-36.redhat_00013.1.el7ea
0:2.7.1-36.redhat_00013.1.el7ea
redhat/eap7-yasson<0:1.0.9-1.redhat_00001.1.el7ea
0:1.0.9-1.redhat_00001.1.el7ea
redhat/eap7-artemis-wildfly-integration<0:1.0.4-1.redhat_00001.1.el8ea
0:1.0.4-1.redhat_00001.1.el8ea
redhat/eap7-bouncycastle<0:1.68.0-2.redhat_00005.1.el8ea
0:1.68.0-2.redhat_00005.1.el8ea
redhat/eap7-hal-console<0:3.2.14-1.Final_redhat_00001.1.el8ea
0:3.2.14-1.Final_redhat_00001.1.el8ea
redhat/eap7-infinispan<0:9.4.22-3.Final_redhat_00001.1.el8ea
0:9.4.22-3.Final_redhat_00001.1.el8ea
redhat/eap7-ironjacamar<0:1.4.30-1.Final_redhat_00001.1.el8ea
0:1.4.30-1.Final_redhat_00001.1.el8ea
redhat/eap7-jboss-genericjms<0:2.0.9-1.Final_redhat_00001.1.el8ea
0:2.0.9-1.Final_redhat_00001.1.el8ea
redhat/eap7-jboss-marshalling<0:2.0.11-1.Final_redhat_00001.1.el8ea
0:2.0.11-1.Final_redhat_00001.1.el8ea
redhat/eap7-jboss-server-migration<0:1.7.2-6.Final_redhat_00007.1.el8ea
0:1.7.2-6.Final_redhat_00007.1.el8ea
redhat/eap7-jboss-weld<3.1-api-0:3.1.0-6.SP3_redhat_00001.1.el8ea
3.1-api-0:3.1.0-6.SP3_redhat_00001.1.el8ea
redhat/eap7-jgroups-kubernetes<0:1.0.16-1.Final_redhat_00001.1.el8ea
0:1.0.16-1.Final_redhat_00001.1.el8ea
redhat/eap7-netty<0:4.1.60-1.Final_redhat_00001.1.el8ea
0:4.1.60-1.Final_redhat_00001.1.el8ea
redhat/eap7-resteasy<0:3.11.4-1.Final_redhat_00001.1.el8ea
0:3.11.4-1.Final_redhat_00001.1.el8ea
redhat/eap7-undertow<0:2.0.35-1.SP1_redhat_00001.1.el8ea
0:2.0.35-1.SP1_redhat_00001.1.el8ea
redhat/eap7-velocity<0:2.3.0-1.redhat_00001.1.el8ea
0:2.3.0-1.redhat_00001.1.el8ea
redhat/eap7-weld-core<0:3.1.6-1.Final_redhat_00001.1.el8ea
0:3.1.6-1.Final_redhat_00001.1.el8ea
redhat/eap7-wildfly<0:7.3.7-1.GA_redhat_00002.1.el8ea
0:7.3.7-1.GA_redhat_00002.1.el8ea
redhat/eap7-wildfly-elytron<0:1.10.12-1.Final_redhat_00001.1.el8ea
0:1.10.12-1.Final_redhat_00001.1.el8ea
redhat/eap7-wildfly-http-client<0:1.0.26-1.Final_redhat_00001.1.el8ea
0:1.0.26-1.Final_redhat_00001.1.el8ea
redhat/eap7-xalan-j2<0:2.7.1-36.redhat_00013.1.el8ea
0:2.7.1-36.redhat_00013.1.el8ea
redhat/eap7-yasson<0:1.0.9-1.redhat_00001.1.el8ea
0:1.0.9-1.redhat_00001.1.el8ea
redhat/eap7-netty<0:4.1.63-1.Final_redhat_00001.1.el8ea
0:4.1.63-1.Final_redhat_00001.1.el8ea
redhat/eap7-netty<0:4.1.63-1.Final_redhat_00001.1.el7ea
0:4.1.63-1.Final_redhat_00001.1.el7ea
redhat/candlepin<0:4.1.13-1.el7
0:4.1.13-1.el7
redhat/candlepin<0:4.1.13-1.el8
0:4.1.13-1.el8
debian/netty
1:4.1.48-4+deb11u21:4.1.48-7+deb12u11:4.1.48-10
Netty Netty<4.1.60
NetApp OnCommand API Services
NetApp OnCommand Workflow Automation
Debian Debian Linux=10.0
Quarkus Quarkus<=1.13.7
Apache Kudu<1.16.0
Apache Zookeeper=3.5.9
Oracle Communications Cloud Native Core Policy=1.14.0
redhat/netty-codec-http<4.1.60.
4.1.60.
IBM watsonx.data intelligence<=5.2.0, 5.2.1, 5.2.2, 5.3.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade maven/io.netty:netty-codec-http2 to a version that resolves this vulnerability.

    Fixed in 4.1.60.Final
  2. Upgrade

    Upgrade redhat/qpid-proton to a version that resolves this vulnerability.

    Fixed in 0:0.33.0-6.el7_9
  3. Upgrade

    Upgrade redhat/qpid-proton to a version that resolves this vulnerability.

    Fixed in 0:0.33.0-8.el8
  4. Upgrade

    Upgrade redhat/eap7-artemis-wildfly-integration to a version that resolves this vulnerability.

    Fixed in 0:1.0.4-1.redhat_00001.1.el6ea
  5. Upgrade

    Upgrade redhat/eap7-bouncycastle to a version that resolves this vulnerability.

    Fixed in 0:1.68.0-2.redhat_00005.1.el6ea
  6. Upgrade

    Upgrade redhat/eap7-hal-console to a version that resolves this vulnerability.

    Fixed in 0:3.2.14-1.Final_redhat_00001.1.el6ea
  7. Upgrade

    Upgrade redhat/eap7-infinispan to a version that resolves this vulnerability.

    Fixed in 0:9.4.22-3.Final_redhat_00001.1.el6ea
  8. Upgrade

    Upgrade redhat/eap7-ironjacamar to a version that resolves this vulnerability.

    Fixed in 0:1.4.30-1.Final_redhat_00001.1.el6ea
  9. Upgrade

    Upgrade redhat/eap7-jboss-genericjms to a version that resolves this vulnerability.

    Fixed in 0:2.0.9-1.Final_redhat_00001.1.el6ea
  10. Upgrade

    Upgrade redhat/eap7-jboss-marshalling to a version that resolves this vulnerability.

    Fixed in 0:2.0.11-1.Final_redhat_00001.1.el6ea
  11. Upgrade

    Upgrade redhat/eap7-jboss-server-migration to a version that resolves this vulnerability.

    Fixed in 0:1.7.2-6.Final_redhat_00007.1.el6ea
  12. Upgrade

    Upgrade redhat/eap7-jboss-weld to a version that resolves this vulnerability.

    Fixed in 3.1-api-0:3.1.0-6.SP3_redhat_00001.1.el6ea
  13. Upgrade

    Upgrade redhat/eap7-jgroups-kubernetes to a version that resolves this vulnerability.

    Fixed in 0:1.0.16-1.Final_redhat_00001.1.el6ea
  14. Upgrade

    Upgrade redhat/eap7-netty to a version that resolves this vulnerability.

    Fixed in 0:4.1.60-1.Final_redhat_00001.1.el6ea
  15. Upgrade

    Upgrade redhat/eap7-resteasy to a version that resolves this vulnerability.

    Fixed in 0:3.11.4-1.Final_redhat_00001.1.el6ea
  16. Upgrade

    Upgrade redhat/eap7-undertow to a version that resolves this vulnerability.

    Fixed in 0:2.0.35-1.SP1_redhat_00001.1.el6ea
  17. Upgrade

    Upgrade redhat/eap7-velocity to a version that resolves this vulnerability.

    Fixed in 0:2.3.0-1.redhat_00001.1.el6ea
  18. Upgrade

    Upgrade redhat/eap7-weld-core to a version that resolves this vulnerability.

    Fixed in 0:3.1.6-1.Final_redhat_00001.1.el6ea
  19. Upgrade

    Upgrade redhat/eap7-wildfly to a version that resolves this vulnerability.

    Fixed in 0:7.3.7-1.GA_redhat_00002.1.el6ea
  20. Upgrade

    Upgrade redhat/eap7-wildfly-elytron to a version that resolves this vulnerability.

    Fixed in 0:1.10.12-1.Final_redhat_00001.1.el6ea
  21. Upgrade

    Upgrade redhat/eap7-wildfly-http-client to a version that resolves this vulnerability.

    Fixed in 0:1.0.26-1.Final_redhat_00001.1.el6ea
  22. Upgrade

    Upgrade redhat/eap7-xalan-j2 to a version that resolves this vulnerability.

    Fixed in 0:2.7.1-36.redhat_00013.1.el6ea
  23. Upgrade

    Upgrade redhat/eap7-yasson to a version that resolves this vulnerability.

    Fixed in 0:1.0.9-1.redhat_00001.1.el6ea
  24. Upgrade

    Upgrade redhat/eap7-artemis-wildfly-integration to a version that resolves this vulnerability.

    Fixed in 0:1.0.4-1.redhat_00001.1.el7ea
  25. Upgrade

    Upgrade redhat/eap7-bouncycastle to a version that resolves this vulnerability.

    Fixed in 0:1.68.0-2.redhat_00005.1.el7ea
  26. Upgrade

    Upgrade redhat/eap7-hal-console to a version that resolves this vulnerability.

    Fixed in 0:3.2.14-1.Final_redhat_00001.1.el7ea
  27. Upgrade

    Upgrade redhat/eap7-infinispan to a version that resolves this vulnerability.

    Fixed in 0:9.4.22-3.Final_redhat_00001.1.el7ea
  28. Upgrade

    Upgrade redhat/eap7-ironjacamar to a version that resolves this vulnerability.

    Fixed in 0:1.4.30-1.Final_redhat_00001.1.el7ea
  29. Upgrade

    Upgrade redhat/eap7-jboss-genericjms to a version that resolves this vulnerability.

    Fixed in 0:2.0.9-1.Final_redhat_00001.1.el7ea
  30. Upgrade

    Upgrade redhat/eap7-jboss-marshalling to a version that resolves this vulnerability.

    Fixed in 0:2.0.11-1.Final_redhat_00001.1.el7ea
  31. Upgrade

    Upgrade redhat/eap7-jboss-server-migration to a version that resolves this vulnerability.

    Fixed in 0:1.7.2-6.Final_redhat_00007.1.el7ea
  32. Upgrade

    Upgrade redhat/eap7-jboss-weld to a version that resolves this vulnerability.

    Fixed in 3.1-api-0:3.1.0-6.SP3_redhat_00001.1.el7ea
  33. Upgrade

    Upgrade redhat/eap7-jgroups-kubernetes to a version that resolves this vulnerability.

    Fixed in 0:1.0.16-1.Final_redhat_00001.1.el7ea
  34. Upgrade

    Upgrade redhat/eap7-netty to a version that resolves this vulnerability.

    Fixed in 0:4.1.60-1.Final_redhat_00001.1.el7ea
  35. Upgrade

    Upgrade redhat/eap7-resteasy to a version that resolves this vulnerability.

    Fixed in 0:3.11.4-1.Final_redhat_00001.1.el7ea
  36. Upgrade

    Upgrade redhat/eap7-undertow to a version that resolves this vulnerability.

    Fixed in 0:2.0.35-1.SP1_redhat_00001.1.el7ea
  37. Upgrade

    Upgrade redhat/eap7-velocity to a version that resolves this vulnerability.

    Fixed in 0:2.3.0-1.redhat_00001.1.el7ea
  38. Upgrade

    Upgrade redhat/eap7-weld-core to a version that resolves this vulnerability.

    Fixed in 0:3.1.6-1.Final_redhat_00001.1.el7ea
  39. Upgrade

    Upgrade redhat/eap7-wildfly to a version that resolves this vulnerability.

    Fixed in 0:7.3.7-1.GA_redhat_00002.1.el7ea
  40. Upgrade

    Upgrade redhat/eap7-wildfly-elytron to a version that resolves this vulnerability.

    Fixed in 0:1.10.12-1.Final_redhat_00001.1.el7ea
  41. Upgrade

    Upgrade redhat/eap7-wildfly-http-client to a version that resolves this vulnerability.

    Fixed in 0:1.0.26-1.Final_redhat_00001.1.el7ea
  42. Upgrade

    Upgrade redhat/eap7-xalan-j2 to a version that resolves this vulnerability.

    Fixed in 0:2.7.1-36.redhat_00013.1.el7ea
  43. Upgrade

    Upgrade redhat/eap7-yasson to a version that resolves this vulnerability.

    Fixed in 0:1.0.9-1.redhat_00001.1.el7ea
  44. Upgrade

    Upgrade redhat/eap7-artemis-wildfly-integration to a version that resolves this vulnerability.

    Fixed in 0:1.0.4-1.redhat_00001.1.el8ea
  45. Upgrade

    Upgrade redhat/eap7-bouncycastle to a version that resolves this vulnerability.

    Fixed in 0:1.68.0-2.redhat_00005.1.el8ea
  46. Upgrade

    Upgrade redhat/eap7-hal-console to a version that resolves this vulnerability.

    Fixed in 0:3.2.14-1.Final_redhat_00001.1.el8ea
  47. Upgrade

    Upgrade redhat/eap7-infinispan to a version that resolves this vulnerability.

    Fixed in 0:9.4.22-3.Final_redhat_00001.1.el8ea
  48. Upgrade

    Upgrade redhat/eap7-ironjacamar to a version that resolves this vulnerability.

    Fixed in 0:1.4.30-1.Final_redhat_00001.1.el8ea
  49. Upgrade

    Upgrade redhat/eap7-jboss-genericjms to a version that resolves this vulnerability.

    Fixed in 0:2.0.9-1.Final_redhat_00001.1.el8ea
  50. Upgrade

    Upgrade redhat/eap7-jboss-marshalling to a version that resolves this vulnerability.

    Fixed in 0:2.0.11-1.Final_redhat_00001.1.el8ea
  51. Upgrade

    Upgrade redhat/eap7-jboss-server-migration to a version that resolves this vulnerability.

    Fixed in 0:1.7.2-6.Final_redhat_00007.1.el8ea
  52. Upgrade

    Upgrade redhat/eap7-jboss-weld to a version that resolves this vulnerability.

    Fixed in 3.1-api-0:3.1.0-6.SP3_redhat_00001.1.el8ea
  53. Upgrade

    Upgrade redhat/eap7-jgroups-kubernetes to a version that resolves this vulnerability.

    Fixed in 0:1.0.16-1.Final_redhat_00001.1.el8ea
  54. Upgrade

    Upgrade redhat/eap7-netty to a version that resolves this vulnerability.

    Fixed in 0:4.1.60-1.Final_redhat_00001.1.el8ea
  55. Upgrade

    Upgrade redhat/eap7-resteasy to a version that resolves this vulnerability.

    Fixed in 0:3.11.4-1.Final_redhat_00001.1.el8ea
  56. Upgrade

    Upgrade redhat/eap7-undertow to a version that resolves this vulnerability.

    Fixed in 0:2.0.35-1.SP1_redhat_00001.1.el8ea
  57. Upgrade

    Upgrade redhat/eap7-velocity to a version that resolves this vulnerability.

    Fixed in 0:2.3.0-1.redhat_00001.1.el8ea
  58. Upgrade

    Upgrade redhat/eap7-weld-core to a version that resolves this vulnerability.

    Fixed in 0:3.1.6-1.Final_redhat_00001.1.el8ea
  59. Upgrade

    Upgrade redhat/eap7-wildfly to a version that resolves this vulnerability.

    Fixed in 0:7.3.7-1.GA_redhat_00002.1.el8ea
  60. Upgrade

    Upgrade redhat/eap7-wildfly-elytron to a version that resolves this vulnerability.

    Fixed in 0:1.10.12-1.Final_redhat_00001.1.el8ea
  61. Upgrade

    Upgrade redhat/eap7-wildfly-http-client to a version that resolves this vulnerability.

    Fixed in 0:1.0.26-1.Final_redhat_00001.1.el8ea
  62. Upgrade

    Upgrade redhat/eap7-xalan-j2 to a version that resolves this vulnerability.

    Fixed in 0:2.7.1-36.redhat_00013.1.el8ea
  63. Upgrade

    Upgrade redhat/eap7-yasson to a version that resolves this vulnerability.

    Fixed in 0:1.0.9-1.redhat_00001.1.el8ea
  64. Upgrade

    Upgrade redhat/eap7-netty to a version that resolves this vulnerability.

    Fixed in 0:4.1.63-1.Final_redhat_00001.1.el8ea
  65. Upgrade

    Upgrade redhat/eap7-netty to a version that resolves this vulnerability.

    Fixed in 0:4.1.63-1.Final_redhat_00001.1.el7ea
  66. Upgrade

    Upgrade redhat/candlepin to a version that resolves this vulnerability.

    Fixed in 0:4.1.13-1.el7
  67. Upgrade

    Upgrade redhat/candlepin to a version that resolves this vulnerability.

    Fixed in 0:4.1.13-1.el8
  68. Upgrade

    Upgrade debian/netty to a version that resolves this vulnerability.

    Fixed in 1:4.1.48-4+deb11u2Fixed in 1:4.1.48-7+deb12u1Fixed in 1:4.1.48-10
  69. Upgrade

    Upgrade redhat/netty-codec-http to a version that resolves this vulnerability.

    Fixed in 4.1.60.
  70. Upgrade

    Upgrade io.netty:netty-codec-http2 to a version that resolves this vulnerability.

    Fixed in 4.1.60.Final
  71. Configuration

    If you cannot upgrade, implement a custom ChannelInboundHandler and insert it in the ChannelPipeline behind `Http2StreamFrameToHttpObjectCodec` to perform Content-Length validation, because Content-Length from the original HTTP/2 request is propagated without validation and can enable request smuggling when forwarded to a backend over HTTP/1.1.

    Netty HTTP/2-to-HTTP/1.1 conversion pipeline ChannelPipeline behind Http2StreamFrameToHttpObjectCodec = Add a custom ChannelInboundHandler to validate Content-Length (and ensure it is checked before forwarding/proxying as HTTP/1.1)

Event History

Mar 9, 2021
CVE Published
12:00 AM
CVE Published
via MITRE·06:35 PM
Data Sourced
via MITRE·06:35 PM
DescriptionSeverityWeakness
Advisory Published
06:49 PM
Mar 10, 2021
Data Sourced
via Red Hat·01:34 PM
DescriptionSeverityAffected Software
Jan 11, 2024
Data Sourced
via Launchpad·11:54 PM
Description
Sep 16, 2024
Data Sourced
via Ubuntu·02:30 AM
RemedyDescriptionSeverityAffected Software
Jun 24, 2026
Data Sourced
via IBM·12:00 AM
DescriptionAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2021-21295?

CVE-2021-21295 is classified as a moderate severity vulnerability.

2

How do I fix CVE-2021-21295?

To fix CVE-2021-21295, update to Netty version 4.1.60.Final or a later version.

3

What are the affected versions for CVE-2021-21295?

CVE-2021-21295 affects Netty versions up to 4.0.x.

4

Is CVE-2021-21295 present in my application?

CVE-2021-21295 may be present if your application uses affected versions of the Netty library.

5

What is the impact of CVE-2021-21295?

CVE-2021-21295 can lead to improper handling of the Content-Length header in HTTP/2 requests when proxied.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203