CVE-2019-20445: Critical severity Netty Netty vulnerability
A flaw was found in Netty before version 4.1.44, where it accepted multiple Content-Length headers and also accepted both Transfer-Encoding, as well as Content-Length headers where it should reject the message under such circumstances. In circumstances where Netty is used in the context of a server, it could result in a viable HTTP smuggling vulnerability.
Other sources
A vulnerability was found in HttpObjectDecoder.java in Netty before 4.1.44 allows a Content-Length header to be accompanied by a second Content-Length header, or by a Transfer-Encoding header.
Reference: https://github.com/netty/netty/compare/netty-4.1.43.Final...netty-4.1.44.Final https://github.com/netty/netty/issues/9861 https://lists.apache.org/thread.html/r310d2ce22304d5298ff87f10134f918c87919b452734f9841d95682d@%3Ccommits.zookeeper.apache.org%3E https://lists.apache.org/thread.html/r36fcf538b28f2029e8b4f6b9a772f3b107913a78f09b095c5b153a62@%3Cissues.zookeeper.apache.org%3E https://lists.apache.org/thread.html/r640eb9b3213058a963e18291f903fc1584e577f60035f941e32f760a@%3Cissues.zookeeper.apache.org%3E https://lists.apache.org/thread.html/r70b1ff22ee80e8101805b9a473116dd33265709007d2deb6f8c80bf2@%3Ccommits.druid.apache.org%3E https://lists.apache.org/thread.html/r804895eedd72c9ec67898286eb185e04df852b0dd5fe53cf5b6138f9@%3Cissues.zookeeper.apache.org%3E https://lists.apache.org/thread.html/r81700644754e66ffea465c869cb477de25f8041e21598e8818fc2c45@%3Cdev.zookeeper.apache.org%3E https://lists.apache.org/thread.html/r96e08f929234e8ba1ef4a93a0fd2870f535a1f9ab628fabc46115986@%3Cdev.zookeeper.apache.org%3E https://lists.apache.org/thread.html/r9b20cdac704cf9a583400350e2d5b576fa8417c18ddb961201676c60@%3Ccommits.zookeeper.apache.org%3E https://lists.apache.org/thread.html/ra2ace4bcb5cf487f72cbcbfa0f8cc08e755ec2b93d7e69f276148b08@%3Cissues.zookeeper.apache.org%3E https://lists.apache.org/thread.html/ra9fbfe7d4830ae675bf34c7c0f8c22fc8a4099f65706c1bc4f54c593@%3Cissues.zookeeper.apache.org%3E https://lists.apache.org/thread.html/rce71d33747010d32d31d90f5d737dae26291d96552f513a266c92fbb@%3Cnotifications.zookeeper.apache.org%3E https://lists.apache.org/thread.html/re45ee9256d3233c31d78e59ee59c7dc841c7fbd83d0769285b41e948@%3Ccommits.druid.apache.org%3E https://lists.apache.org/thread.html/rfb55f245b08d8a6ec0fb4dc159022227cd22de34c4419c2fbb18802b@%3Cnotifications.zookeeper.apache.org%3E https://lists.apache.org/thread.html/rff210a24f3a924829790e69eaefa84820902b7b31f17c3bf2def9114@%3Ccommits.druid.apache.org%3E
— Red Hat
Netty could provide weaker than expected security, caused by non-proper handling of Content-Length and Transfer-Encoding in the HttpObjectDecoder.java. A remote attacker could exploit this vulnerability to launch further attacks on the system.
— IBM
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
maven/io.netty:netty-handlerto a version that resolves this vulnerability.Fixed in 4.1.45 - Upgrade
Upgrade
redhat/qpid-protonto a version that resolves this vulnerability.Fixed in 0:0.30.0-4.el6_10 - Upgrade
Upgrade
redhat/qpid-protonto a version that resolves this vulnerability.Fixed in 0:0.30.0-2.el7 - Upgrade
Upgrade
redhat/nodejs-rheato a version that resolves this vulnerability.Fixed in 0:1.0.16-1.el8 - Upgrade
Upgrade
redhat/qpid-protonto a version that resolves this vulnerability.Fixed in 0:0.30.0-3.el8 - Upgrade
Upgrade
redhat/eap7-nettyto a version that resolves this vulnerability.Fixed in 0:4.1.45-1.Final_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-activemq-artemisto a version that resolves this vulnerability.Fixed in 0:2.9.0-2.redhat_00009.1.el6ea - Upgrade
Upgrade
redhat/eap7-apache-commons-beanutilsto a version that resolves this vulnerability.Fixed in 0:1.9.4-1.redhat_00002.1.el6ea - Upgrade
Upgrade
redhat/eap7-glassfish-elto a version that resolves this vulnerability.Fixed in 0:3.0.1-4.b08_redhat_00003.1.el6ea - Upgrade
Upgrade
redhat/eap7-glassfish-jaxbto a version that resolves this vulnerability.Fixed in 0:2.3.3-4.b02_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-glassfish-jsfto a version that resolves this vulnerability.Fixed in 0:2.3.5-7.SP3_redhat_00005.1.el6ea - Upgrade
Upgrade
redhat/eap7-hal-consoleto a version that resolves this vulnerability.Fixed in 0:3.0.20-1.Final_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-hibernateto a version that resolves this vulnerability.Fixed in 0:5.3.15-1.Final_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-infinispanto a version that resolves this vulnerability.Fixed in 0:9.3.8-1.Final_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-ironjacamarto a version that resolves this vulnerability.Fixed in 0:1.4.20-1.Final_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-jackson-databindto a version that resolves this vulnerability.Fixed in 0:2.9.10.2-1.redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-jaegertracing-jaeger-client-javato a version that resolves this vulnerability.Fixed in 0:0.34.1-1.redhat_00002.1.el6ea - Upgrade
Upgrade
redhat/eap7-jboss-ejb-clientto a version that resolves this vulnerability.Fixed in 0:4.0.28-1.Final_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-jboss-remotingto a version that resolves this vulnerability.Fixed in 0:5.0.17-1.Final_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-jboss-server-migrationto a version that resolves this vulnerability.Fixed in 0:1.3.1-8.Final_redhat_00009.1.el6ea - Upgrade
Upgrade
redhat/eap7-picketlink-bindingsto a version that resolves this vulnerability.Fixed in 0:2.5.5-23.SP12_redhat_00012.1.el6ea - Upgrade
Upgrade
redhat/eap7-stax2-apito a version that resolves this vulnerability.Fixed in 0:4.2.0-1.redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-sun-istack-commonsto a version that resolves this vulnerability.Fixed in 0:3.0.10-1.redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-thriftto a version that resolves this vulnerability.Fixed in 0:0.13.0-1.redhat_00002.1.el6ea - Upgrade
Upgrade
redhat/eap7-wildflyto a version that resolves this vulnerability.Fixed in 0:7.2.7-4.GA_redhat_00004.1.el6ea - Upgrade
Upgrade
redhat/eap7-wildfly-http-clientto a version that resolves this vulnerability.Fixed in 0:1.0.20-1.Final_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-wildfly-opensslto a version that resolves this vulnerability.Fixed in 0:1.0.9-2.SP03_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-wildfly-transaction-clientto a version that resolves this vulnerability.Fixed in 0:1.1.9-1.Final_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-woodstox-coreto a version that resolves this vulnerability.Fixed in 0:6.0.3-1.redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-xml-securityto a version that resolves this vulnerability.Fixed in 0:2.1.4-1.redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-nettyto a version that resolves this vulnerability.Fixed in 0:4.1.45-1.Final_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-activemq-artemisto a version that resolves this vulnerability.Fixed in 0:2.9.0-2.redhat_00009.1.el7ea - Upgrade
Upgrade
redhat/eap7-apache-commons-beanutilsto a version that resolves this vulnerability.Fixed in 0:1.9.4-1.redhat_00002.1.el7ea - Upgrade
Upgrade
redhat/eap7-glassfish-elto a version that resolves this vulnerability.Fixed in 0:3.0.1-4.b08_redhat_00003.1.el7ea - Upgrade
Upgrade
redhat/eap7-glassfish-jaxbto a version that resolves this vulnerability.Fixed in 0:2.3.3-4.b02_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-glassfish-jsfto a version that resolves this vulnerability.Fixed in 0:2.3.5-7.SP3_redhat_00005.1.el7ea - Upgrade
Upgrade
redhat/eap7-hal-consoleto a version that resolves this vulnerability.Fixed in 0:3.0.20-1.Final_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-hibernateto a version that resolves this vulnerability.Fixed in 0:5.3.15-1.Final_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-infinispanto a version that resolves this vulnerability.Fixed in 0:9.3.8-1.Final_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-ironjacamarto a version that resolves this vulnerability.Fixed in 0:1.4.20-1.Final_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-jackson-databindto a version that resolves this vulnerability.Fixed in 0:2.9.10.2-1.redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-jaegertracing-jaeger-client-javato a version that resolves this vulnerability.Fixed in 0:0.34.1-1.redhat_00002.1.el7ea - Upgrade
Upgrade
redhat/eap7-jboss-ejb-clientto a version that resolves this vulnerability.Fixed in 0:4.0.28-1.Final_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-jboss-remotingto a version that resolves this vulnerability.Fixed in 0:5.0.17-1.Final_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-jboss-server-migrationto a version that resolves this vulnerability.Fixed in 0:1.3.1-8.Final_redhat_00009.1.el7ea - Upgrade
Upgrade
redhat/eap7-picketlink-bindingsto a version that resolves this vulnerability.Fixed in 0:2.5.5-23.SP12_redhat_00012.1.el7ea - Upgrade
Upgrade
redhat/eap7-stax2-apito a version that resolves this vulnerability.Fixed in 0:4.2.0-1.redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-sun-istack-commonsto a version that resolves this vulnerability.Fixed in 0:3.0.10-1.redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-thriftto a version that resolves this vulnerability.Fixed in 0:0.13.0-1.redhat_00002.1.el7ea - Upgrade
Upgrade
redhat/eap7-wildflyto a version that resolves this vulnerability.Fixed in 0:7.2.7-4.GA_redhat_00004.1.el7ea - Upgrade
Upgrade
redhat/eap7-wildfly-http-clientto a version that resolves this vulnerability.Fixed in 0:1.0.20-1.Final_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-wildfly-opensslto a version that resolves this vulnerability.Fixed in 0:1.0.9-2.SP03_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-wildfly-transaction-clientto a version that resolves this vulnerability.Fixed in 0:1.1.9-1.Final_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-woodstox-coreto a version that resolves this vulnerability.Fixed in 0:6.0.3-1.redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-xml-securityto a version that resolves this vulnerability.Fixed in 0:2.1.4-1.redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-nettyto a version that resolves this vulnerability.Fixed in 0:4.1.45-1.Final_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-activemq-artemisto a version that resolves this vulnerability.Fixed in 0:2.9.0-2.redhat_00009.1.el8ea - Upgrade
Upgrade
redhat/eap7-apache-commons-beanutilsto a version that resolves this vulnerability.Fixed in 0:1.9.4-1.redhat_00002.1.el8ea - Upgrade
Upgrade
redhat/eap7-glassfish-elto a version that resolves this vulnerability.Fixed in 0:3.0.1-4.b08_redhat_00003.1.el8ea - Upgrade
Upgrade
redhat/eap7-glassfish-jaxbto a version that resolves this vulnerability.Fixed in 0:2.3.3-4.b02_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-glassfish-jsfto a version that resolves this vulnerability.Fixed in 0:2.3.5-7.SP3_redhat_00005.1.el8ea - Upgrade
Upgrade
redhat/eap7-hal-consoleto a version that resolves this vulnerability.Fixed in 0:3.0.20-1.Final_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-hibernateto a version that resolves this vulnerability.Fixed in 0:5.3.15-1.Final_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-infinispanto a version that resolves this vulnerability.Fixed in 0:9.3.8-1.Final_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-ironjacamarto a version that resolves this vulnerability.Fixed in 0:1.4.20-1.Final_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-jackson-databindto a version that resolves this vulnerability.Fixed in 0:2.9.10.2-1.redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-jaegertracing-jaeger-client-javato a version that resolves this vulnerability.Fixed in 0:0.34.1-1.redhat_00002.1.el8ea - Upgrade
Upgrade
redhat/eap7-jboss-ejb-clientto a version that resolves this vulnerability.Fixed in 0:4.0.28-1.Final_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-jboss-remotingto a version that resolves this vulnerability.Fixed in 0:5.0.17-1.Final_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-jboss-server-migrationto a version that resolves this vulnerability.Fixed in 0:1.3.1-8.Final_redhat_00009.1.el8ea - Upgrade
Upgrade
redhat/eap7-picketlink-bindingsto a version that resolves this vulnerability.Fixed in 0:2.5.5-23.SP12_redhat_00012.1.el8ea - Upgrade
Upgrade
redhat/eap7-stax2-apito a version that resolves this vulnerability.Fixed in 0:4.2.0-1.redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-sun-istack-commonsto a version that resolves this vulnerability.Fixed in 0:3.0.10-1.redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-thriftto a version that resolves this vulnerability.Fixed in 0:0.13.0-1.redhat_00002.1.el8ea - Upgrade
Upgrade
redhat/eap7-wildflyto a version that resolves this vulnerability.Fixed in 0:7.2.7-4.GA_redhat_00004.1.el8ea - Upgrade
Upgrade
redhat/eap7-wildfly-http-clientto a version that resolves this vulnerability.Fixed in 0:1.0.20-1.Final_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-wildfly-opensslto a version that resolves this vulnerability.Fixed in 0:1.0.9-2.SP03_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-wildfly-transaction-clientto a version that resolves this vulnerability.Fixed in 0:1.1.9-1.Final_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-woodstox-coreto a version that resolves this vulnerability.Fixed in 0:6.0.3-1.redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-xml-securityto a version that resolves this vulnerability.Fixed in 0:2.1.4-1.redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/nettyto a version that resolves this vulnerability.Fixed in 4.1.44 - Upgrade
Upgrade
debian/nettyto a version that resolves this vulnerability.Fixed in 1:4.1.48-7+deb12u2Fixed in 1:4.1.48-10+deb13u1Fixed in 1:4.1.48-16 - Upgrade
Upgrade
Nettyto a version that resolves this vulnerability.Fixed in 4.1.44 - Configuration
Disable reuse of backend connections by setting http-reuse to never.
HAProxy or equivalent load balancer http-reuse = never - Compensating control
Use HTTP/2 instead to maintain clear boundaries between requests.
Event History
Parent advisories
This vulnerability appears in the following advisories.
Frequently Asked Questions
What is the severity of CVE-2019-20445?
The CVE-2019-20445 vulnerability is considered high severity due to its potential to allow HTTP request smuggling attacks.
How do I fix CVE-2019-20445?
To resolve CVE-2019-20445, upgrade to Netty version 4.1.45 or later.
Which versions of Netty are affected by CVE-2019-20445?
Netty versions prior to 4.1.45 are affected by CVE-2019-20445.
What kind of attacks can CVE-2019-20445 facilitate?
CVE-2019-20445 can facilitate HTTP request smuggling attacks due to improper handling of multiple Content-Length headers.
Is there a workaround for CVE-2019-20445 until I can update?
There are no officially recommended workarounds for CVE-2019-20445; updating to a safe version is advised.