CVE-2021-21409: Possible request smuggling in HTTP/2 due missing validation of content-length

Published Mar 30, 2021
·
Updated

Impact The content-length header is not correctly validated if the request only use a single Http2HeaderFrame with the endStream set to to true. This could lead to request smuggling if the request is proxied to a remote peer and translated to HTTP/1.1

This is a followup of https://github.com/netty/netty/security/advisories/GHSA-wm47-8v5p-wjpj which did miss to fix this one case.

Patches This was fixed as part of 4.1.61.Final

Workarounds Validation can be done by the user before proxy the request by validating the header.

Other sources

A flaw was found in Netty. There is an issue where the content-length header is not validated correctly if the request uses a single Http2HeaderFrame with the endstream set to true. This flaw leads to request smuggling if the request is proxied to a remote peer and translated to HTTP/1.1. The highest threat from this vulnerability is to integrity.

Netty is an open-source, asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. In Netty (io.netty:netty-codec-http2) before version 4.1.61.Final there is a vulnerability that enables request smuggling. The content-length header is not correctly validated if the request only uses a single Http2HeaderFrame with the endStream set to to true. This could lead to request smuggling if the request is proxied to a remote peer and translated to HTTP/1.1. This is a followup of GHSA-wm47-8v5p-wjpj/CVE-2021-21295 which did miss to fix this one case. This was fixed as part of 4.1.61.Final.

Affected Software

77 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.61.Final
4.1.61.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-elytron-web<0:1.6.3-1.Final_redhat_00001.1.el6ea
0:1.6.3-1.Final_redhat_00001.1.el6ea
redhat/eap7-hal-console<0:3.2.15-1.Final_redhat_00001.1.el6ea
0:3.2.15-1.Final_redhat_00001.1.el6ea
redhat/eap7-hibernate<0:5.3.20-3.SP1_redhat_00001.1.el6ea
0:5.3.20-3.SP1_redhat_00001.1.el6ea
redhat/eap7-infinispan<0:9.4.23-1.Final_redhat_00001.1.el6ea
0:9.4.23-1.Final_redhat_00001.1.el6ea
redhat/eap7-ironjacamar<0:1.4.33-1.Final_redhat_00001.1.el6ea
0:1.4.33-1.Final_redhat_00001.1.el6ea
redhat/eap7-jberet<0:1.3.8-1.Final_redhat_00001.1.el6ea
0:1.3.8-1.Final_redhat_00001.1.el6ea
redhat/eap7-jboss-remoting<0:5.0.23-1.Final_redhat_00001.1.el6ea
0:5.0.23-1.Final_redhat_00001.1.el6ea
redhat/eap7-jboss-server-migration<0:1.7.2-7.Final_redhat_00008.1.el6ea
0:1.7.2-7.Final_redhat_00008.1.el6ea
redhat/eap7-netty<0:4.1.63-1.Final_redhat_00001.1.el6ea
0:4.1.63-1.Final_redhat_00001.1.el6ea
redhat/eap7-undertow<0:2.0.38-1.SP1_redhat_00001.1.el6ea
0:2.0.38-1.SP1_redhat_00001.1.el6ea
redhat/eap7-wildfly<0:7.3.8-1.GA_redhat_00001.1.el6ea
0:7.3.8-1.GA_redhat_00001.1.el6ea
redhat/eap7-wildfly-elytron<0:1.10.13-1.Final_redhat_00001.1.el6ea
0:1.10.13-1.Final_redhat_00001.1.el6ea
redhat/eap7-wildfly-http-client<0:1.0.28-1.Final_redhat_00001.1.el6ea
0:1.0.28-1.Final_redhat_00001.1.el6ea
redhat/eap7-elytron-web<0:1.6.3-1.Final_redhat_00001.1.el7ea
0:1.6.3-1.Final_redhat_00001.1.el7ea
redhat/eap7-hal-console<0:3.2.15-1.Final_redhat_00001.1.el7ea
0:3.2.15-1.Final_redhat_00001.1.el7ea
redhat/eap7-hibernate<0:5.3.20-3.SP1_redhat_00001.1.el7ea
0:5.3.20-3.SP1_redhat_00001.1.el7ea
redhat/eap7-infinispan<0:9.4.23-1.Final_redhat_00001.1.el7ea
0:9.4.23-1.Final_redhat_00001.1.el7ea
redhat/eap7-ironjacamar<0:1.4.33-1.Final_redhat_00001.1.el7ea
0:1.4.33-1.Final_redhat_00001.1.el7ea
redhat/eap7-jberet<0:1.3.8-1.Final_redhat_00001.1.el7ea
0:1.3.8-1.Final_redhat_00001.1.el7ea
redhat/eap7-jboss-remoting<0:5.0.23-1.Final_redhat_00001.1.el7ea
0:5.0.23-1.Final_redhat_00001.1.el7ea
redhat/eap7-jboss-server-migration<0:1.7.2-7.Final_redhat_00008.1.el7ea
0:1.7.2-7.Final_redhat_00008.1.el7ea
redhat/eap7-netty<0:4.1.63-1.Final_redhat_00001.1.el7ea
0:4.1.63-1.Final_redhat_00001.1.el7ea
redhat/eap7-undertow<0:2.0.38-1.SP1_redhat_00001.1.el7ea
0:2.0.38-1.SP1_redhat_00001.1.el7ea
redhat/eap7-wildfly<0:7.3.8-1.GA_redhat_00001.1.el7ea
0:7.3.8-1.GA_redhat_00001.1.el7ea
redhat/eap7-wildfly-elytron<0:1.10.13-1.Final_redhat_00001.1.el7ea
0:1.10.13-1.Final_redhat_00001.1.el7ea
redhat/eap7-wildfly-http-client<0:1.0.28-1.Final_redhat_00001.1.el7ea
0:1.0.28-1.Final_redhat_00001.1.el7ea
redhat/eap7-elytron-web<0:1.6.3-1.Final_redhat_00001.1.el8ea
0:1.6.3-1.Final_redhat_00001.1.el8ea
redhat/eap7-hal-console<0:3.2.15-1.Final_redhat_00001.1.el8ea
0:3.2.15-1.Final_redhat_00001.1.el8ea
redhat/eap7-hibernate<0:5.3.20-3.SP1_redhat_00001.1.el8ea
0:5.3.20-3.SP1_redhat_00001.1.el8ea
redhat/eap7-infinispan<0:9.4.23-1.Final_redhat_00001.1.el8ea
0:9.4.23-1.Final_redhat_00001.1.el8ea
redhat/eap7-ironjacamar<0:1.4.33-1.Final_redhat_00001.1.el8ea
0:1.4.33-1.Final_redhat_00001.1.el8ea
redhat/eap7-jberet<0:1.3.8-1.Final_redhat_00001.1.el8ea
0:1.3.8-1.Final_redhat_00001.1.el8ea
redhat/eap7-jboss-remoting<0:5.0.23-1.Final_redhat_00001.1.el8ea
0:5.0.23-1.Final_redhat_00001.1.el8ea
redhat/eap7-jboss-server-migration<0:1.7.2-7.Final_redhat_00008.1.el8ea
0:1.7.2-7.Final_redhat_00008.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-undertow<0:2.0.38-1.SP1_redhat_00001.1.el8ea
0:2.0.38-1.SP1_redhat_00001.1.el8ea
redhat/eap7-wildfly<0:7.3.8-1.GA_redhat_00001.1.el8ea
0:7.3.8-1.GA_redhat_00001.1.el8ea
redhat/eap7-wildfly-elytron<0:1.10.13-1.Final_redhat_00001.1.el8ea
0:1.10.13-1.Final_redhat_00001.1.el8ea
redhat/eap7-wildfly-http-client<0:1.0.28-1.Final_redhat_00001.1.el8ea
0:1.0.28-1.Final_redhat_00001.1.el8ea
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.61
Debian Debian Linux=10.0
NetApp OnCommand API Services
NetApp OnCommand Workflow Automation
Oracle Banking Corporate Lending Process Management=14.2.0
Oracle Banking Corporate Lending Process Management=14.3.0
Oracle Banking Corporate Lending Process Management=14.5.0
Oracle Banking Credit Facilities Process Management=14.2.0
Oracle Banking Credit Facilities Process Management=14.3.0
Oracle Banking Credit Facilities Process Management=14.5.0
Oracle Banking Trade Finance Process Management=14.2.0
Oracle Banking Trade Finance Process Management=14.3.0
Oracle Banking Trade Finance Process Management=14.5.0
Oracle Coherence=12.2.1.4.0
Oracle Coherence=14.1.1.0.0
Oracle Communications Brm - Elastic Charging Engine=12.0.0.3
Oracle Communications Cloud Native Core Console=1.7.0
Oracle Communications Cloud Native Core Policy=1.14.0
Oracle Communications Design Studio=7.4.2.0.0
Oracle Communications Messaging Server=8.1
Oracle Helidon=1.4.10
Oracle Helidon=2.4.0
Oracle JD Edwards EnterpriseOne Tools<9.2.6.3
Oracle Nosql Database<21.1.12
Oracle Primavera Gateway>=17.12.0<=17.12.11
Oracle Primavera Gateway>=18.8.0<=18.8.11
Oracle Primavera Gateway>=19.12.0<=19.12.10
Quarkus Quarkus<=1.13.7
redhat/netty-codec-http<4.1.61.
4.1.61.
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.61.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-elytron-web to a version that resolves this vulnerability.

    Fixed in 0:1.6.3-1.Final_redhat_00001.1.el6ea
  5. Upgrade

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

    Fixed in 0:3.2.15-1.Final_redhat_00001.1.el6ea
  6. Upgrade

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

    Fixed in 0:5.3.20-3.SP1_redhat_00001.1.el6ea
  7. Upgrade

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

    Fixed in 0:9.4.23-1.Final_redhat_00001.1.el6ea
  8. Upgrade

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

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

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

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

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

    Fixed in 0:5.0.23-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-7.Final_redhat_00008.1.el6ea
  12. Upgrade

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

    Fixed in 0:4.1.63-1.Final_redhat_00001.1.el6ea
  13. Upgrade

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

    Fixed in 0:2.0.38-1.SP1_redhat_00001.1.el6ea
  14. Upgrade

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

    Fixed in 0:7.3.8-1.GA_redhat_00001.1.el6ea
  15. Upgrade

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

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

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

    Fixed in 0:1.0.28-1.Final_redhat_00001.1.el6ea
  17. Upgrade

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

    Fixed in 0:1.6.3-1.Final_redhat_00001.1.el7ea
  18. Upgrade

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

    Fixed in 0:3.2.15-1.Final_redhat_00001.1.el7ea
  19. Upgrade

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

    Fixed in 0:5.3.20-3.SP1_redhat_00001.1.el7ea
  20. Upgrade

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

    Fixed in 0:9.4.23-1.Final_redhat_00001.1.el7ea
  21. Upgrade

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

    Fixed in 0:1.4.33-1.Final_redhat_00001.1.el7ea
  22. Upgrade

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

    Fixed in 0:1.3.8-1.Final_redhat_00001.1.el7ea
  23. Upgrade

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

    Fixed in 0:5.0.23-1.Final_redhat_00001.1.el7ea
  24. Upgrade

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

    Fixed in 0:1.7.2-7.Final_redhat_00008.1.el7ea
  25. Upgrade

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

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

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

    Fixed in 0:2.0.38-1.SP1_redhat_00001.1.el7ea
  27. Upgrade

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

    Fixed in 0:7.3.8-1.GA_redhat_00001.1.el7ea
  28. Upgrade

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

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

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

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

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

    Fixed in 0:1.6.3-1.Final_redhat_00001.1.el8ea
  31. Upgrade

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

    Fixed in 0:3.2.15-1.Final_redhat_00001.1.el8ea
  32. Upgrade

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

    Fixed in 0:5.3.20-3.SP1_redhat_00001.1.el8ea
  33. Upgrade

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

    Fixed in 0:9.4.23-1.Final_redhat_00001.1.el8ea
  34. Upgrade

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

    Fixed in 0:1.4.33-1.Final_redhat_00001.1.el8ea
  35. Upgrade

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

    Fixed in 0:1.3.8-1.Final_redhat_00001.1.el8ea
  36. Upgrade

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

    Fixed in 0:5.0.23-1.Final_redhat_00001.1.el8ea
  37. Upgrade

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

    Fixed in 0:1.7.2-7.Final_redhat_00008.1.el8ea
  38. Upgrade

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

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

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

    Fixed in 0:2.0.38-1.SP1_redhat_00001.1.el8ea
  40. Upgrade

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

    Fixed in 0:7.3.8-1.GA_redhat_00001.1.el8ea
  41. Upgrade

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

    Fixed in 0:1.10.13-1.Final_redhat_00001.1.el8ea
  42. Upgrade

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

    Fixed in 0:1.0.28-1.Final_redhat_00001.1.el8ea
  43. Upgrade

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

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

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

    Fixed in 0:4.1.13-1.el8
  45. 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
  46. Upgrade

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

    Fixed in 4.1.61.
  47. Upgrade

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

    Fixed in 4.1.61.FinalPatch GHSA-f256-j965-7f32
  48. Compensating control

    If you must proxy requests before upgrading, validate the HTTP content-length header yourself before proxying/forwarding the request, since content-length is not correctly validated when the request uses a single Http2HeaderFrame with endStream set to true (leading to possible request smuggling if translated to HTTP/1.1).

Event History

Mar 30, 2021
CVE Published
12:00 AM
CVE Published
via MITRE·03:05 PM
Data Sourced
via MITRE·03:05 PM
DescriptionSeverityWeakness
Advisory Published
03:10 PM
Data Sourced
via Red Hat·08:58 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-21409?

CVE-2021-21409 has been classified as a high severity vulnerability due to its potential for causing request smuggling.

2

How do I fix CVE-2021-21409?

To remediate CVE-2021-21409, update to Netty version 4.1.61.Final or later.

3

Which software is affected by CVE-2021-21409?

CVE-2021-21409 affects various Netty and JBoss packages, particularly those below version 4.1.61.

4

What type of vulnerability is CVE-2021-21409?

CVE-2021-21409 is a request smuggling vulnerability that arises from improper validation of the content-length header.

5

Can CVE-2021-21409 lead to further exploits?

Yes, CVE-2021-21409 can be exploited to facilitate other attacks if requests are proxied to remote servers.

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