Skip to content

GHSA-qxf4-chvg-4r8r BIT-tomcat-2020-1935 CVE-2020-1935

Potential HTTP request smuggling in Apache Tomcat

Medium Maven
Severity
4.8 / 10
Medium · CVSS 3.1
Exploit chance (EPSS)
9.39%
Chance of exploitation in the next 30 days. Higher than 95.40% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-444 Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')
Fix
Available
2 packages have a fixed version

Description

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.

Affected versions

Maven

PackageVulnerableFixed in
org.apache.tomcat.embed:tomcat-embed-core
< 7.0.100
7.0.100
org.apache.tomcat.embed:tomcat-embed-core
>= 8.0.0, < 8.5.51
8.5.51
org.apache.tomcat.embed:tomcat-embed-core
>= 9.0.0, < 9.0.31
9.0.31
org.apache.tomcat:tomcat
< 7.0.100
7.0.100
org.apache.tomcat:tomcat
>= 8.0.0, < 8.5.51
8.5.51
org.apache.tomcat:tomcat
>= 9.0.0, < 9.0.31
9.0.31

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

org.apache.tomcat.embed:tomcat-embed-core Maven → 7.0.100

maven
<dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-core</artifactId><version>7.0.100</version></dependency>
gradle
implementation("org.apache.tomcat.embed:tomcat-embed-core:7.0.100")

org.apache.tomcat:tomcat Maven → 7.0.100

maven
<dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat</artifactId><version>7.0.100</version></dependency>
gradle
implementation("org.apache.tomcat:tomcat:7.0.100")

Severity breakdown

CVSS 3.1 4.8

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N

Attack vector
Network
Attack complexity
High
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

Weakness

CWE-444: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')

The product acts as an intermediary HTTP agent (such as a proxy or firewall) in the data flow between two entities such as a client and server, but it does not interpret malformed HTTP requests or responses in ways that are consistent with how the messages will be processed by those entities that are at the ultimate destination.

How to prevent it
  • Implementation: Use a web server that employs a strict HTTP parsing procedure, such as Apache [REF-433].
  • Implementation: Use only SSL communication.
  • Implementation: Terminate the client session after each request.
  • System Configuration: Turn all pages to non-cacheable.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-69r9-qgr7-g2wj
Apache Tomcat Missing Encryption of Sensitive Data vulnerability
High Known exploited Also affects org.apache.tomcat:tomcat
GHSA-83qj-6fr2-vhqg
Apache Tomcat: Potential RCE and/or information disclosure and/or information corruption with partial PUT
Critical Known exploited Also affects org.apache.tomcat.embed:tomcat-embed-core
GHSA-qppj-fm5r-hxr3
HTTP/2 Stream Cancellation Attack
Medium Known exploited Also affects org.apache.tomcat.embed:tomcat-embed-core
GHSA-xjgh-84hx-56c5
Unrestricted Upload of File with Dangerous Type Apache Tomcat
High Known exploited Also affects org.apache.tomcat.embed:tomcat-embed-core
CVE-2020-1938
Improper Privilege Management in Tomcat
Critical Known exploited Also affects org.apache.tomcat.embed:tomcat-embed-core
GHSA-pjfr-qf3p-3q25
When running Apache Tomcat on Windows with HTTP PUTs enabled it was possible to upload a JSP file to the server
High Known exploited Also affects org.apache.tomcat.embed:tomcat-embed-core
GHSA-h3x4-894j-xpx5
Apache Tomcat's FORM authentication process has an Incorrect Authorization vulnerability
Critical Also affects org.apache.tomcat.embed:tomcat-embed-core
GHSA-9xv2-5v5q-p794
Apache Tomcat's DIGEST authenticator has an Authentication Bypass by Capture-replay vulnerability
Critical Also affects org.apache.tomcat.embed:tomcat-embed-core
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor