Bug 1140314 (CVE-2013-4444) - CVE-2013-4444 tomcat: remote code execution via uploaded JSP
Summary: CVE-2013-4444 tomcat: remote code execution via uploaded JSP
Status: CLOSED DUPLICATE of bug 974813
Alias: CVE-2013-4444
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
Depends On: 1140317
Blocks: 1140316
TreeView+ depends on / blocked
Reported: 2014-09-10 16:32 UTC by Vincent Danen
Modified: 2021-02-17 06:14 UTC (History)
55 users (show)

Fixed In Version: tomcat 7.0.40
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2014-09-15 07:27:39 UTC

Attachments (Terms of Use)

Description Vincent Danen 2014-09-10 16:32:44 UTC
As reported fixed in Apache Tomcat 7.0.40 [1]:

In very limited circumstances, it was possible for an attacker to upload a malicious JSP to a Tomcat server and then trigger the execution of that JSP. While Remote Code Execution would normally be viewed as a critical vulnerability, the circumstances under which this is possible are, in the view of the Tomcat security team, sufficiently limited that this vulnerability is viewed as important.

For this attack to succeed all of the following requirements must be met:

1. Using Oracle Java 1.7.0 update 25 or earlier (or any other Java implementation where java.io.File is vulnerable to null byte injection).
2. A web application must be deployed to a vulnerable version of Tomcat.
3. The web application must use the Servlet 3.0 File Upload feature.
4. A file location within a deployed web application must be writeable by the user the Tomcat process is running as. The Tomcat security documentation recommends against this.
5. A custom listener for JMX connections (e.g. the JmxRemoteListener that is not enabled by default) must be configured and be able to load classes from Tomcat's common class loader (i.e. the custom JMX listener must be placed in Tomcat's lib directory).
6. The custom JMX listener must be bound to an address other than localhost for a remote attack (it is bound to localhost by default). If the custom JMX listener is bound to localhost, a local attack will still be possible.

Note that requirements 2 and 3 may be replaced with the following requirement:

7. A web application is deployed that uses Apache Commons File Upload 1.2.1 or earlier.

In this case (requirements 1, 4, 5, 6 and 7 met) a similar vulnerability may exist on any Servlet container, not just Apache Tomcat.

This was fixed in revision 1470437. [2] (April 22, 2013)

This issue was identified by Pierre Ernst of the VMware Security Engineering, Communications and Response group (vSECR) and reported to the Tomcat security team via the Pivotal security team on 5 September 2014. It was made public on 10 September 2014.

Affects: 7.0.0 to 7.0.39

[1] http://tomcat.apache.org/security-7.html#Fixed_in_Apache_Tomcat_7.0.40
[2] http://svn.apache.org/viewvc?view=revision&revision=1470437

Comment 1 Vincent Danen 2014-09-10 16:34:09 UTC
Created tomcat tracking bugs for this issue:

Affects: epel-6 [bug 1140317]

Comment 3 Arun Babu Neelicattu 2014-09-15 07:13:12 UTC

Not Vulnerable. This issue did not affect the versions of Tomcat and JBoss Web as shipped with any Red Hat product, as this flaw was handled by Red Hat as CVE-2013-2185. This flaw is to be considered a duplicate of CVE-2013-4444.

Comment 4 Arun Babu Neelicattu 2014-09-15 07:27:39 UTC

*** This bug has been marked as a duplicate of bug 974813 ***

Note You need to log in before you can comment on or make changes to this bug.