org.apache.tomcat:tomcat-catalina@7.0.29 vulnerabilities

Direct Vulnerabilities

Known vulnerabilities in the org.apache.tomcat:tomcat-catalina package. This does not include vulnerabilities belonging to this package’s dependencies.

Automatically find and fix vulnerabilities affecting your projects. Snyk scans for vulnerabilities and provides fixes for free.
Fix for free
Vulnerability Vulnerable Version
  • M
Improper Input Validation

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Improper Input Validation. Queries made by the JNDI Realm did not always correctly escape parameters. Parameter values could be sourced from user provided data (e.g., user names) as well as configuration data provided by an administrator. In limited circumstances it was possible for users to authenticate using variations of their user name and/or to bypass some of the protection provided by the LockOut Realm.

How to fix Improper Input Validation?

Upgrade org.apache.tomcat:tomcat-catalina to version 10.0.6, 9.0.46, 8.5.66, 7.0.109 or higher.

[10.0.0-M1,10.0.6) [9.0.0.M1,9.0.46) [8.5.0,8.5.66) [7.0.0,7.0.109)
  • H
Remote Code Execution (RCE)

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Remote Code Execution (RCE). The fix for CVE-2020-9484 was incomplete. When using Apache Tomcat with a configuration edge case that was highly unlikely to be used, the Tomcat instance was still vulnerable to CVE-2020-9494. Note that both the previously published prerequisites for CVE-2020-9484 and the previously published mitigations for CVE-2020-9484 also apply to this issue.

How to fix Remote Code Execution (RCE)?

Upgrade org.apache.tomcat:tomcat-catalina to version 10.0.2, 9.0.43, 8.5.63, 7.0.108 or higher.

[10.0.0-M1,10.0.2) [9.0.0.M1,9.0.43) [8.5.0,8.5.63) [7.0.0,7.0.108)
  • M
Information Disclosure

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Information Disclosure. When serving resources from a network location using the NTFS file system, affected versions were susceptible to JSP source code disclosure in some configurations. The root cause was the unexpected behaviour of the JRE API File.getCanonicalPath() which in turn was caused by the inconsistent behaviour of the Windows API (FindFirstFileW) in some circumstances.

How to fix Information Disclosure?

Upgrade org.apache.tomcat:tomcat-catalina to version 10.0.0-M10, 9.0.40, 8.5.60, 7.0.107 or higher.

[10.0.0-M1,10.0.0-M10) [9.0.0.M1,9.0.40) [8.5.0,8.5.60) [7.0.0,7.0.107)
  • H
Remote Code Execution (RCE)

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Remote Code Execution (RCE). If an attacker is able to control the contents and name of a file on the server; and the server is configured to use the PersistenceManager with a FileStore; and the PersistenceManager is configured with sessionAttributeValueClassNameFilter="null" (the default unless a SecurityManager is used) or a sufficiently lax filter to allow the attacker provided object to be deserialized; and the attacker knows the relative file path from the storage location used by FileStore to the file the attacker has control over; then, using a specifically crafted request, the attacker will be able to trigger remote code execution via deserialization of the file under their control.

How to fix Remote Code Execution (RCE)?

Upgrade org.apache.tomcat:tomcat-catalina to version 10.0.0-M5, 9.0.35, 8.5.55, 7.0.104 or higher.

[10.0.0-M1,10.0.0-M5) [9.0.0M1,9.0.35) [8.5.0,8.5.55) [7.0.0,7.0.104)
  • L
Session Fixation

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Session Fixation. When using FORM authentication there was a narrow window where an attacker could perform a session fixation attack. The window was considered too narrow for an exploit to be practical but, erring on the side of caution, this issue has been treated as a security vulnerability.

How to fix Session Fixation?

Upgrade org.apache.tomcat:tomcat-catalina to version 9.0.30, 8.5.50, 7.0.99 or higher.

[9.0.0.M1,9.0.30) [8.5.0,8.5.50) [,7.0.99)
  • L
Cross-site Scripting (XSS)

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Cross-site Scripting (XSS) via the SSI printenv command.

Note: Server Side Includes (SSI) is disabled by default and is intended for debugging purposes only.

How to fix Cross-site Scripting (XSS)?

Upgrade org.apache.tomcat:tomcat-catalina to version 9.0.18, 8.5.40, 7.0.94 or higher.

[9.0.0.M1,9.0.18) [8.5.0,8.5.40) [7.0.0,7.0.94)
  • H
Remote Code Execution

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Remote Code Execution due to a bug in the way the underlying Java Runtime Environment (JRE) passes command line arguments to windows systems when the option enableCmdLineArguments is enabled.

The CGI Servlet in Apache Tomcat when enabled, will pass user input to the underlying operating system for command line parsing. However, this process is not consistent and may allow the injection of additional arguments. This misconfiguration could be abused by attackers to execute code on an application's underlying operating system.

How to fix Remote Code Execution?

Upgrade org.apache.tomcat:tomcat-catalina to version 7.0.94, 8.5.40, 9.0.18 or higher.

[7.0.0,7.0.94) [8.5.0,8.5.40) [9.0.0.M1,9.0.18)
  • M
Open Redirect

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Open Redirect. When the default servlet returned a redirect to a directory (e.g. redirecting to '/foo/' when the user requested '/foo') a specially crafted URL could be used to cause the redirect to be generated to any URI of the attackers choice.

How to fix Open Redirect?

Upgrade org.apache.tomcat:tomcat-catalina to version 7.0.91, 8.5.34, 9.0.12 or higher.

[7.0.23,7.0.91) [8.5.0,8.5.34) [9.0.0,9.0.12)
  • C
Insecure Defaults

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Insecure Defaults. The defaults settings for the CORS filter are insecure and enable supportsCredentials for all origins.

How to fix Insecure Defaults?

Upgrade org.apache.tomcat:tomcat-catalina to version 7.0.89, 8.0.53, 8.5.32, 9.0.9 or higher.

[,7.0.89) [8.0.0,8.0.53) [8.5.0,8.5.32) [9.0.0,9.0.9)
  • M
Access Restriction Bypass

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Access Restriction Bypass. The URL pattern of (the empty string) which exactly maps to the context root was not correctly handled, this caused the constraint to be ignored. It was, therefore, possible for unauthorised users to gain access to web application resources that should have been protected. Only security constraints with a URL pattern of the empty string were affected.

How to fix Access Restriction Bypass?

Upgrade org.apache.tomcat:tomcat-catalina to version 7.0.85, 8.0.50, 8.5.28, 9.0.5 or higher.

[7.0.0,7.0.85) [8.0.0.RC1,8.0.50) [8.5.0,8.5.28) [9.0.0.M1,9.0.5)
  • M
Directory Traversal

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Directory Traversal. Security constraints defined by annotations of Servlets were only applied once a Servlet had been loaded. Because security constraints defined in this way apply to the URL pattern and any URLs below that point, it was possible - depending on the order Servlets were loaded - for some security constraints not to be applied. This could have exposed resources to users who were not authorised to access them.

How to fix Directory Traversal?

Upgrade org.apache.tomcat:tomcat-catalina to version 9.0.5, 8.5.28, 8.0.50, 7.0.85 or higher.

[9.0.0M1,9.0.5) [8.5.0,8.5.28) [8.0.0RC1,8.0.50) [7.0.0,7.0.85)
  • H
Access Restriction Bypass

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Access Restriction Bypass. When using a VirtualDirContext it was possible to bypass security constraints and/or view the source code of JSPs for resources served by the VirtualDirContext using a specially crafted request.

How to fix Access Restriction Bypass?

Upgrade org.apache.tomcat:tomcat-catalina to version 7.0.81 or higher.

[7.0.0,7.0.81)
  • H
Arbitrary Code Execution

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Arbitrary Code Execution. When running Apache Tomcat versions 9.0.0.M1 to 9.0.0, 8.5.0 to 8.5.22, 8.0.0.RC1 to 8.0.46 and 7.0.0 to 7.0.81 with HTTP PUTs enabled (e.g. via setting the readonly initialisation parameter of the Default servlet to false) it was possible to upload a JSP file to the server via a specially crafted request. This JSP could then be requested and any code it contained would be executed by the server.

This is due to an incomplete fix for CVE-2017-12615.

How to fix Arbitrary Code Execution?

Upgrade org.apache.tomcat:tomcat-catalina to version 7.0.82, 8.0.46, 8.5.22, 9.0.1 or higher.

[,7.0.82) [8,8.0.46) [8.5,8.5.22) [9.0.0.M1,9.0.1)
  • H
Arbitrary Code Execution

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Arbitrary Code Execution. When running Apache Tomcat on Windows with HTTP PUTs enabled (e.g. via setting the readonly initialisation parameter of the Default to false) it was possible to upload a JSP file to the server via a specially crafted request. This JSP could then be requested and any code it contained would be executed by the server.

The fix for this vulnerability was incomplete, see CVE-2017-12617.

How to fix Arbitrary Code Execution?

Upgrade org.apache.tomcat:tomcat-catalina to version 7.0.81 or higher.

[7.0.0,7.0.81)
  • M
Cache Poisoning

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Cache Poisoning. The CORS Filter did not add an HTTP Vary header indicating that the response varies depending on Origin. This permitted client and server side cache poisoning in some circumstances.

How to fix Cache Poisoning?

Upgrade org.apache.tomcat:tomcat-catalina to version 7.0.79, 8.0.45, 8.5.16, 9.0.0.M22 or higher.

[7.0.0,7.0.79) [8.0.0RC1,8.0.45) [8.5.0,8.5.16) [9.0.0.M1,9.0.0.M22)
  • H
Access Restriction Bypass

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Access Restriction Bypass. The error page mechanism of the Java Servlet Specification requires that, when an error occurs and an error page is configured for the error that occurred, the original request and response are forwarded to the error page. This means that the request is presented to the error page with the original HTTP method. If the error page is a static file, expected behaviour is to serve content of the file as if processing a GET request, regardless of the actual HTTP method. The Default Servlet in Apache Tomcat 9.0.0.M1 to 9.0.0.M20, 8.5.0 to 8.5.14, 8.0.0.RC1 to 8.0.43 and 7.0.0 to 7.0.77 did not do this. Depending on the original request this could lead to unexpected and undesirable results for static error pages including, if the DefaultServlet is configured to permit writes, the replacement or removal of the custom error page. Notes for other user provided error pages: (1) Unless explicitly coded otherwise, JSPs ignore the HTTP method. JSPs used as error pages must must ensure that they handle any error dispatch as a GET request, regardless of the actual method. (2) By default, the response generated by a Servlet does depend on the HTTP method. Custom Servlets used as error pages must ensure that they handle any error dispatch as a GET request, regardless of the actual method.

How to fix Access Restriction Bypass?

Upgrade org.apache.tomcat:tomcat-catalina to version 7.0.78, 8.0.44, 8.5.15, 9.0.0.M21 or higher.

[7.0.0,7.0.78) [8.0.0RC1,8.0.44) [8.5.0,8.5.15) [9.0.0.M1,9.0.0.M21)
  • C
Information Exposure

org.apache.tomcat:tomcat-catalina While investigating bug 60718, it was noticed that some calls to application listeners in Apache Tomcat 9.0.0.M1 to 9.0.0.M17, 8.5.0 to 8.5.11, 8.0.0.RC1 to 8.0.41, and 7.0.0 to 7.0.75 did not use the appropriate facade object. When running an untrusted application under a SecurityManager, it was therefore possible for that untrusted application to retain a reference to the request or response object and thereby access and/or modify information associated with another web application.

[7.0.0,7.0.76) [8,8.0.42) [8.5.0,8.5.12) [9-alpha,9.0.0.M17)
  • H
Denial of Service (DoS)

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Denial of Service (DoS). It allows remote attackers to cause a denial of service (CPU consumption) via a long boundary string.

How to fix Denial of Service (DoS)?

Upgrade org.apache.tomcat:tomcat-catalina to version 7.0.70, 8.0.36, 8.5.3, 9.0.0.M7 or higher.

[7.0.0,7.0.70) [8.0,8.0.36) [8.5.0,8.5.3) [9-alpha,9.0.0.M7)
  • H
Information Exposure

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Information Exposure. The refactoring of the Connector code for 8.5.x onwards introduced a regression in the error handling of the send file code for the NIO HTTP connector. An error during send file processing resulted in the current Processor object being added to the Processor cache multiple times. This in turn meant that the same Processor could be used for concurrent requests. Sharing a Processor can result in information leakage between requests including, not not limited to, session ID and the response body.

How to fix Information Exposure?

Upgrade org.apache.tomcat:tomcat-catalina to version 7.0.74, 8.5.9, 8.0.40, 9.0.0M15 or higher.

[7,7.0.74) [8.5.0,8.5.9) [8.0.0RC1,8.0.40) [9.0.0M1,9.0.0M15)
  • H
Access Restriction Bypass

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Access Restriction Bypass. It was discovered that it was possible for a web application to access any global JNDI resource whether an explicit ResourceLink had been configured or not.

How to fix Access Restriction Bypass?

Upgrade org.apache.tomcat:tomcat-catalina to version 7.0.72, 8.0.37, 8.5.5, 9.0.0.M10 or higher.

[7.0.0,7.0.72) [8,8.0.37) [8.5.0,8.5.5) [9-alpha,9.0.0.M10)
  • M
Timing Attack

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Timing Attack. The setGlobalContext method in ResourceLinkFactory.java does not consider whether callers to this method are authorized, which allows remote authenticated users to bypass intended SecurityManager restrictions and read or write to arbitrary application data, or cause a denial of service (application disruption), via a web application that sets a crafted global context.

How to fix Timing Attack?

Upgrade org.apache.tomcat:tomcat-catalina to version 7.0.72, 8.0.37, 8.5.5, 9.0.0.M10 or higher.

[7.0.0,7.0.72) [8,8.0.37) [8.5.0,8.5.5) [9-alpha,9.0.0.M10)
  • H
Information Exposure

org.apache.tomcat:tomcat-catalina Session fixation vulnerability in Apache Tomcat 7.x before 7.0.66, 8.x before 8.0.30, and 9.x before 9.0.0.M2, when different session settings are used for deployments of multiple versions of the same web application, might allow remote attackers to hijack web sessions by leveraging use of a requestedSessionSSL field for an unintended request, related to CoyoteAdapter.java and Request.java.

[7,7.0.66) [8,8.0.30) [9-alpha,9.0.0.M2)
  • M
Information Exposure

org.apache.tomcat:tomcat-catalina Apache Tomcat 6.x before 6.0.45, 7.x before 7.0.68, 8.x before 8.0.31, and 9.x before 9.0.0.M2 does not place org.apache.catalina.manager.StatusManagerServlet on the org/apache/catalina/core/RestrictedServlets.properties list, which allows remote authenticated users to bypass intended SecurityManager restrictions and read arbitrary HTTP requests, and consequently discover session ID values, via a crafted web application.

[7.0.0,7.0.68) [8,8.0.31) [9-alpha,9.0.0.M2)
  • H
Access Restriction Bypass

org.apache.tomcat:tomcat-catalina The session-persistence implementation in Apache Tomcat 6.x before 6.0.45, 7.x before 7.0.68, 8.x before 8.0.31, and 9.x before 9.0.0.M2 mishandles session attributes, which allows remote authenticated users to bypass intended SecurityManager restrictions and execute arbitrary code in a privileged context via a web application that places a crafted object in a session.

[7.0.0,7.0.68) [8,8.0.31) [9-alpha,9.0.0.M2)
  • M
Directory Traversal

org.apache.tomcat:tomcat-catalina The Mapper component in Apache Tomcat 6.x before 6.0.45, 7.x before 7.0.68, 8.x before 8.0.30, and 9.x before 9.0.0.M2 processes redirects before considering security constraints and Filters, which allows remote attackers to determine the existence of a directory via a URL that lacks a trailing / (slash) character.

[7.0.0,7.0.68) [8,8.0.30) [9-alpha,9.0.0.M2)
  • M
Access Restriction Bypass

org.apache.tomcat:tomcat-catalina The setGlobalContext method in org/apache/naming/factory/ResourceLinkFactory.java in Apache Tomcat 7.x before 7.0.68, 8.x before 8.0.31, and 9.x before 9.0.0.M3 does not consider whether ResourceLinkFactory.setGlobalContext callers are authorized, which allows remote authenticated users to bypass intended SecurityManager restrictions and read or write to arbitrary application data, or cause a denial of service (application disruption), via a web application that sets a crafted global context.

[7.0.0,7.0.68) [8,8.0.31) [9-alpha,9.0.0.M2)
  • H
Denial of Service (DoS)

org.apache.tomcat:tomcat-catalina Apache Tomcat 6.x before 6.0.44, 7.x before 7.0.55, and 8.x before 8.0.9 does not properly handle cases where an HTTP response occurs before finishing the reading of an entire request body, which allows remote attackers to cause a denial of service (thread consumption) via a series of aborted upload attempts.

[7.0.0,7.0.55) [8,8.0.9)
  • M
Access Restriction Bypass

org.apache.tomcat:tomcat-catalina java/org/apache/catalina/servlets/DefaultServlet.java in the default servlet in Apache Tomcat before 6.0.40, 7.x before 7.0.53, and 8.x before 8.0.4 does not properly restrict XSLT stylesheets, which allows remote attackers to bypass security-manager restrictions and read arbitrary files via a crafted web application that provides an XML external entity declaration in conjunction with an entity reference, related to an XML External Entity (XXE) issue.

[7.0.0,7.0.53) [8,8.0.4)
  • M
Arbitrary File Read

org.apache.tomcat:tomcat-catalina is a Tomcat Servlet Engine Core Classes and Standard implementations.

Affected versions of this package are vulnerable to Arbitrary File Read. Apache Tomcat before 6.0.40, 7.x before 7.0.54, and 8.x before 8.0.6 does not properly constrain the class loader that accesses the XML parser used with an XSLT stylesheet, which allows remote attackers to (1) read arbitrary files via a crafted web application that provides an XML external entity declaration in conjunction with an entity reference, related to an XML External Entity (XXE) issue, or (2) read files associated with different web applications on a single Tomcat instance via a crafted web application.

How to fix Arbitrary File Read?

Upgrade org.apache.tomcat:tomcat-catalina to version 7.0.54, 8.0.6 or higher.

[7.0.0,7.0.54) [8,8.0.6)
  • M
Cross-site Request Forgery (CSRF)

org.apache.tomcat:tomcat-catalina org/apache/catalina/filters/CsrfPreventionFilter.java in Apache Tomcat 6.x before 6.0.36 and 7.x before 7.0.32 allows remote attackers to bypass the cross-site request forgery (CSRF) protection mechanism via a request that lacks a session identifier.

[7.0.0,7.0.32)
  • M
Access Restriction Bypass

org.apache.tomcat:tomcat-catalina org/apache/catalina/realm/RealmBase.java in Apache Tomcat 6.x before 6.0.36 and 7.x before 7.0.30, when FORM authentication is used, allows remote attackers to bypass security-constraint checks by leveraging a previous setUserPrincipal call and then placing /j_security_check at the end of a URI.

[7.0.0,7.0.30)
  • M
Access Restriction Bypass

org.apache.tomcat:tomcat-catalina The replay-countermeasure functionality in the HTTP Digest Access Authentication implementation in Apache Tomcat 5.5.x before 5.5.36, 6.x before 6.0.36, and 7.x before 7.0.30 tracks cnonce (aka client nonce) values instead of nonce (aka server nonce) and nc (aka nonce-count) values, which makes it easier for remote attackers to bypass intended access restrictions by sniffing the network for valid requests, a different vulnerability than CVE-2011-1184.

[7.0.0,7.0.30)
  • M
Improper Authentication

org.apache.tomcat:tomcat-catalina The HTTP Digest Access Authentication implementation in Apache Tomcat 5.5.x before 5.5.36, 6.x before 6.0.36, and 7.x before 7.0.30 caches information about the authenticated user within the session state, which makes it easier for remote attackers to bypass authentication via vectors related to the session ID.

[7.0.0,7.0.30)
  • M
Improper Authentication

org.apache.tomcat:tomcat-catalina The HTTP Digest Access Authentication implementation in Apache Tomcat 5.5.x before 5.5.36, 6.x before 6.0.36, and 7.x before 7.0.30 does not properly check for stale nonce values in conjunction with enforcement of proper credentials, which makes it easier for remote attackers to bypass intended access restrictions by sniffing the network for valid requests.

[7.0.0,7.0.30)
  • M
Improper Authentication

org.apache.tomcat:tomcat-catalina java/org/apache/catalina/authenticator/FormAuthenticator.java in the form authentication feature in Apache Tomcat 6.0.21 through 6.0.36 and 7.x before 7.0.33 does not properly handle the relationships between authentication requirements and sessions, which allows remote attackers to inject a request into a session by sending this request during completion of the login form, a variant of a session fixation attack.

[7.0.0,7.0.33)
  • L
Information Exposure

org.apache.tomcat:tomcat-catalina java/org/apache/catalina/core/AsyncContextImpl.java in Apache Tomcat 7.x before 7.0.40 does not properly handle the throwing of a RuntimeException in an AsyncListener in an application, which allows context-dependent attackers to obtain sensitive request information intended for other applications in opportunistic circumstances via an application that records the requests that it processes.

[7.0.0,7.0.40)
  • M
Information Exposure

org.apache.tomcat:tomcat-catalina Apache Tomcat before 6.0.39, 7.x before 7.0.50, and 8.x before 8.0.0-RC10 allows attackers to obtain "Tomcat internals" information by leveraging the presence of an untrusted web application with a context.xml, web.xml, *.jspx, *.tagx, or *.tld XML document containing an external entity declaration in conjunction with an entity reference, related to an XML External Entity (XXE) issue.

[7.0.0,7.0.50) [8.0.0-RC1,8.0.0-RC10)