CVE-2020-1935: XSS
A flaw was found in Apache Tomcat. The HTTP header parsing code used an approach to end-of-line (EOL) parsing that allowed some invalid HTTP headers to be parsed as valid. This led to the possibility of HTTP Request Smuggling if Tomcat was located behind a reverse proxy that incorrectly handled the invalid Transfer-Encoding header in a particular manner. The highest threat with this vulnerability is system availability.
Other sources
Apache Tomcat is vulnerable to HTTP request smuggling, caused by a flaw when handling unusual Transfer-Encoding HTTP header. By sending a specially-crafted request, an attacker could exploit this vulnerability to poison the web cache, bypass web application firewall protection, and conduct XSS attacks.
— IBM
In Apache Tomcat 9.0.0.M1 to 9.0.30, 8.5.0 to 8.5.50 and 7.0.0 to 7.0.99 the HTTP header parsing code used an approach to end-of-line parsing that allowed some invalid HTTP headers to be parsed as valid. This led to a possibility of HTTP Request Smuggling if Tomcat was located behind a reverse proxy that incorrectly handled the invalid Transfer-Encoding header in a particular manner. Such a reverse proxy is considered unlikely.
The HTTP header parsing code used an approach to end-of-line (EOL) parsing that allowed some invalid HTTP headers to be parsed as valid. This led to a possibility of HTTP Request Smuggling if Tomcat was located behind a reverse proxy that incorrectly handled the invalid Transfer-Encoding header in a particular manner. Such a reverse proxy is considered unlikely.
It affects the version of Apache Tomcat 9 from 9.0.0.M1 to 9.0.30, Tomcat from 8 8.5.0 to 8.5.50, and Tomcat 7 7.0.0 to 7.0.99.
Upstream Patches: https://github.com/apache/tomcat/commit/8bfb0ff / tomcat9 https://github.com/apache/tomcat/commit/8fbe2e9 / tomcat8 https://github.com/apache/tomcat/commit/702bf15 / tomcat7
— Red Hat
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
redhat/tomcatto a version that resolves this vulnerability.Fixed in 0:7.0.76-16.el7_9 - Upgrade
Upgrade
redhat/tomcatto a version that resolves this vulnerability.Fixed in 0:7.0.76-11.el7_6 - Upgrade
Upgrade
redhat/tomcatto a version that resolves this vulnerability.Fixed in 0:7.0.76-12.el7_7 - Upgrade
Upgrade
redhat/tomcat7to a version that resolves this vulnerability.Fixed in 0:7.0.70-41.ep7.el6 - Upgrade
Upgrade
redhat/tomcat8to a version that resolves this vulnerability.Fixed in 0:8.0.36-45.ep7.el6 - Upgrade
Upgrade
redhat/tomcat7to a version that resolves this vulnerability.Fixed in 0:7.0.70-41.ep7.el7 - Upgrade
Upgrade
redhat/tomcat8to a version that resolves this vulnerability.Fixed in 0:8.0.36-45.ep7.el7 - Upgrade
Upgrade
redhat/jws5-tomcatto a version that resolves this vulnerability.Fixed in 0:9.0.30-3.redhat_4.1.el6 - Upgrade
Upgrade
redhat/jws5-tomcat-nativeto a version that resolves this vulnerability.Fixed in 0:1.2.23-4.redhat_4.el6 - Upgrade
Upgrade
redhat/jws5-tomcatto a version that resolves this vulnerability.Fixed in 0:9.0.30-3.redhat_4.1.el7 - Upgrade
Upgrade
redhat/jws5-tomcat-nativeto a version that resolves this vulnerability.Fixed in 0:1.2.23-4.redhat_4.el7 - Upgrade
Upgrade
redhat/jws5-tomcatto a version that resolves this vulnerability.Fixed in 0:9.0.30-3.redhat_4.1.el8 - Upgrade
Upgrade
redhat/jws5-tomcat-nativeto a version that resolves this vulnerability.Fixed in 0:1.2.23-4.redhat_4.el8 - Upgrade
Upgrade
debian/tomcat9to a version that resolves this vulnerability.Fixed in 9.0.43-2~deb11u10Fixed in 9.0.43-2~deb11u12Fixed in 9.0.70-2Fixed in 9.0.95-1 - Upgrade
Upgrade
redhat/tomcatto a version that resolves this vulnerability.Fixed in 9.0.31 - Upgrade
Upgrade
redhat/tomcatto a version that resolves this vulnerability.Fixed in 8.5.51 - Upgrade
Upgrade
redhat/tomcatto a version that resolves this vulnerability.Fixed in 7.0.100 - Upgrade
Upgrade
tomcat7to a version that resolves this vulnerability.Fixed in 7.0.99 - Upgrade
Upgrade
tomcat8to a version that resolves this vulnerability.Fixed in 8.5.50 - Upgrade
Upgrade
tomcat9to a version that resolves this vulnerability.Fixed in 9.0.30 - Compensating control
For Red Hat Satellite 6: add an iptables rule to deny TCP requests of Tomcat that are not originating from the Satellite.
Event History
Parent advisories
This vulnerability appears in the following advisories.
Frequently Asked Questions
What is the severity of CVE-2020-1935?
CVE-2020-1935 has a moderate severity level due to the potential for HTTP request smuggling.
How do I fix CVE-2020-1935?
To fix CVE-2020-1935, upgrade to Apache Tomcat version 7.0.100, 8.5.51, or 9.0.31 or later.
Which versions of Apache Tomcat are affected by CVE-2020-1935?
CVE-2020-1935 affects Apache Tomcat versions before 7.0.100, 8.5.51, and 9.0.31.
What is HTTP request smuggling related to CVE-2020-1935?
HTTP request smuggling involves sending maliciously crafted requests that can bypass security controls by exploiting the flawed header parsing.
Is CVE-2020-1935 applicable to reverse proxy configurations?
Yes, CVE-2020-1935 is particularly concerning when Tomcat is deployed behind a reverse proxy that does not handle headers correctly.