CVE-2020-1935: XSS

Published Feb 24, 2020
·
Updated

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

78 affected componentsFixes available
redhat/tomcat<0:7.0.76-16.el7_9
0:7.0.76-16.el7_9
redhat/tomcat<0:7.0.76-11.el7_6
0:7.0.76-11.el7_6
redhat/tomcat<0:7.0.76-12.el7_7
0:7.0.76-12.el7_7
redhat/tomcat7<0:7.0.70-41.ep7.el6
0:7.0.70-41.ep7.el6
redhat/tomcat8<0:8.0.36-45.ep7.el6
0:8.0.36-45.ep7.el6
redhat/tomcat7<0:7.0.70-41.ep7.el7
0:7.0.70-41.ep7.el7
redhat/tomcat8<0:8.0.36-45.ep7.el7
0:8.0.36-45.ep7.el7
redhat/jws5-tomcat<0:9.0.30-3.redhat_4.1.el6
0:9.0.30-3.redhat_4.1.el6
redhat/jws5-tomcat-native<0:1.2.23-4.redhat_4.el6
0:1.2.23-4.redhat_4.el6
redhat/jws5-tomcat<0:9.0.30-3.redhat_4.1.el7
0:9.0.30-3.redhat_4.1.el7
redhat/jws5-tomcat-native<0:1.2.23-4.redhat_4.el7
0:1.2.23-4.redhat_4.el7
redhat/jws5-tomcat<0:9.0.30-3.redhat_4.1.el8
0:9.0.30-3.redhat_4.1.el8
redhat/jws5-tomcat-native<0:1.2.23-4.redhat_4.el8
0:1.2.23-4.redhat_4.el8
redhat/tomcat<9.0.31
9.0.31
redhat/tomcat<8.5.51
8.5.51
redhat/tomcat<7.0.100
7.0.100
IBM Data Risk Manager<=2.0.6
Apache Tomcat>=7.0.0<=7.0.99
Apache Tomcat>=8.5.0<=8.5.50
Apache Tomcat>=9.0.0<=9.0.30
Apache Tomcat=9.0.0
Apache Tomcat=9.0.0-milestone1
Apache Tomcat=9.0.0-milestone10
Apache Tomcat=9.0.0-milestone11
Apache Tomcat=9.0.0-milestone12
Apache Tomcat=9.0.0-milestone13
Apache Tomcat=9.0.0-milestone14
Apache Tomcat=9.0.0-milestone15
Apache Tomcat=9.0.0-milestone16
Apache Tomcat=9.0.0-milestone17
Apache Tomcat=9.0.0-milestone18
Apache Tomcat=9.0.0-milestone19
Apache Tomcat=9.0.0-milestone2
Apache Tomcat=9.0.0-milestone20
Apache Tomcat=9.0.0-milestone21
Apache Tomcat=9.0.0-milestone22
Apache Tomcat=9.0.0-milestone23
Apache Tomcat=9.0.0-milestone24
Apache Tomcat=9.0.0-milestone25
Apache Tomcat=9.0.0-milestone26
Apache Tomcat=9.0.0-milestone27
Apache Tomcat=9.0.0-milestone3
Apache Tomcat=9.0.0-milestone4
Apache Tomcat=9.0.0-milestone5
Apache Tomcat=9.0.0-milestone6
Apache Tomcat=9.0.0-milestone7
Apache Tomcat=9.0.0-milestone8
Apache Tomcat=9.0.0-milestone9
Debian Debian Linux=8.0
Debian Debian Linux=9.0
Debian Debian Linux=10.0
Canonical Ubuntu Linux=16.04
openSUSE Leap=15.1
NetApp Data Availability Services
NetApp OnCommand System Manager>=3.0.0<=3.1.3
Oracle Agile Engineering Data Management=6.2.1.0
Oracle Agile Product Lifecycle Management=9.3.3
Oracle Agile Product Lifecycle Management=9.3.5
Oracle Agile Product Lifecycle Management=9.3.6
Oracle Communications Element Manager=8.1.1
Oracle Communications Element Manager=8.2.0
Oracle Communications Element Manager=8.2.1
Oracle Communications Instant Messaging Server=10.0.1.4.0
Oracle Health Sciences Empirica Inspections=1.0.1.2
Oracle Health Sciences Empirica Signal=7.3.3
Oracle Hospitality Guest Access=4.2.0
Oracle Hospitality Guest Access=4.2.1
Oracle Hyperion Infrastructure Technology=11.1.2.4
Oracle Instantis Enterprisetrack>=17.1<=17.3
Oracle MySQL Enterprise Monitor>=4.0.0<=4.0.12
Oracle MySQL Enterprise Monitor>=8.0.0<=8.0.20
Oracle Retail Order Broker=15.0
Oracle Siebel UI Framework<=20.5
Oracle Transportation Management=6.3.7
Oracle Workload Manager=12.2.0.1
Oracle Workload Manager=18c
Oracle Workload Manager=19c
debian/tomcat9
9.0.43-2~deb11u109.0.43-2~deb11u129.0.70-29.0.95-1

Remediation

Information

Workaround for Red Hat Satellite 6 is to add iptables rule to deny TCP requests of Tomcat that are not originating from the Satellite. For other Red Hat products, either mitigation isn't available or the currently available options don't meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base or stability.

Event History

Feb 24, 2020
CVE Published
12:00 AM
CVE Published
via MITRE·09:11 PM
Data Sourced
via MITRE·09:11 PM
DescriptionWeakness
Feb 25, 2020
Data Sourced
via Red Hat·06:33 AM
DescriptionSeverityAffected Software
Jan 11, 2024
Data Sourced
via Launchpad·11:44 PM
Description
Sep 16, 2024
Data Sourced
via Ubuntu·02:24 AM
RemedyDescriptionSeverityAffected Software
Sep 24, 58339
Event
via NVD·11:16 AM
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-2020-1935?

CVE-2020-1935 has a moderate severity level due to the potential for HTTP request smuggling.

2

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.

3

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.

4

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.

5

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.

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