CVE DatabaseCVE-2017-12615
한국어 권고문 →
CVE-2017-126158.1/HIGHCISA KEVCWE-434CWE-434

Apache Tomcat 7.0.x Windows Remote Code Execution Vulnerability (CVE-2017-12615) Security Advisory

⚡ Jump to Patch
Affected Vendors
apache
Affected Components
tomcat
Published Date
2017-09-19
CVSS v3.1
8.1
HIGH
EPSS (30d)
99.7%
FIRST.org
CISA KEV
Exploited

Executive & SecOps Summary

SECOPS ASSESSMENT
Affected Scope

Apache Tomcat versions 7.0.0 to 7.0.79 running on Windows with the 'readonly' initialization parameter set to 'false'.

Impact

Unauthenticated remote attackers can upload malicious JSP files via specially crafted HTTP PUT requests, leading to arbitrary code execution under the context of the Tomcat process.

Mitigation

Immediately upgrade Apache Tomcat to version 7.0.81 or later, or revert the 'readonly' parameter to 'true' in the web.xml configuration.

Affected Products & Version Scope

Apache Tomcat versions 7.0.0 through 7.0.79 running on Windows with 'readonly' set to 'false'

Remediation & Live Workaround Commands

PATCH & WORKAROUND

1. Official Patch & Version Upgrade Commands

The recommended remediation is to upgrade to Apache Tomcat 7.0.81 or later, where the input validation logic has been hardened against Windows file system quirks.

bash
# Stop the running Tomcat service
# For Windows: net stop Tomcat7

# Download and extract the secured Tomcat version (e.g., 7.0.109)
curl -O https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.109/bin/apache-tomcat-7.0.109.tar.gz
tar -xvf apache-tomcat-7.0.109.tar.gz

# Migrate configuration files securely and restart the service

2. Temporary Workaround & Hardening Configuration

If an immediate upgrade is not feasible, modify the conf/web.xml file to ensure that the readonly parameter is set to true (or completely remove the parameter to default to true).

xml
<!-- Edit conf/web.xml -->
<servlet>
    <servlet-name>default</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
    <init-param>
        <param-name>readonly</param-name>
        <!-- Force readonly to true to disable PUT and DELETE methods -->
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

3. Log Audit & IoC Verification Commands

Inspect Tomcat access logs and the web application directories for unauthorized PUT requests and unexpected JSP files.

bash
# Search Tomcat access logs for PUT requests targeting JSP files
grep -i 'PUT' /path/to/tomcat/logs/localhost_access_log.* | grep -E '\.jsp'

# PowerShell command to find recently modified JSP files in the webapps directory
Get-ChildItem -Path 'C:  omcat\webapps' -Filter '*.jsp' -Recurse | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-30) }
Interactive SecOps Remediation Checklist
0/4 (0%)
Recommended Security Control & Mitigation Partner
Cloudflare Enterprise & Pro WAF
Verify that 'readonly' is set to 'true' in your Tomcat configurations immediately, and plan an upgrade to a supported, non-vulnerable version.

Block Exploits Instantly with Managed Virtual Patching Rules

Can't patch production immediately? Deploy managed WAF rules at the edge to intercept RCE, SQLi, and deserialization payloads before they hit your origin server.

3-min setup · Automated Zero-Day Managed Rules
Practice Exploiting & Patching This Web Vulnerability in an Interactive Lab
Launch Hands-On Security Lab

Technical Root Cause & Exploitation Mechanics

1. Vulnerability Overview & Root Cause

This vulnerability exists in the DefaultServlet of Apache Tomcat 7.0.x running on Windows environments. When the 'readonly' initialization parameter is explicitly set to 'false', Tomcat permits HTTP PUT requests to upload files to the server. Due to a discrepancy between Java's file handling APIs and the underlying Windows Win32 file system behavior, attackers can bypass extension validation checks by appending special characters (such as '/' or '::$DATA') to the request URI, allowing arbitrary JSP files to be written to the web root.

2. Exploitation Mechanics & Attack Scenario

The exploitation flow typically proceeds as follows:

  • Crafted Request: The attacker sends an HTTP PUT request targeting a JSP path with trailing characters, such as PUT /shell.jsp/ or PUT /shell.jsp::$DATA.
  • Validation Bypass: Tomcat's internal validation logic treats the URI as a directory or an alternate data stream, bypassing the standard JSP upload restrictions.
  • File Creation: When Windows processes the file creation call, the trailing slash or stream identifier is stripped, resulting in a file named shell.jsp being written to disk.
  • Execution: The attacker requests the uploaded JSP file via HTTP GET, triggering remote code execution on the target server.

3. Infrastructure & Business Impact

With a CVSS score of 8.1 and active exploitation status in CISA's KEV catalog (EPSS score: 0.9971), this vulnerability poses an extreme risk. Successful exploitation grants the attacker the ability to execute arbitrary system commands, potentially leading to full host compromise, lateral movement within the internal network, data exfiltration, and deployment of ransomware.

Official Vendor Advisories & References

Frequently Asked SecOps Questions (CVE-2017-12615)

FAQ

Q1. How critical is CVE-2017-12615 and is it actively exploited in the wild?

CVE-2017-12615 is rated CVSS 8.1 (HIGH) with a 30-day EPSS exploitation probability of 99.7%. It is listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, requiring immediate emergency remediation.

Q2. Which vendors and products are affected by CVE-2017-12615?

Primary impacted vendors include apache across tomcat. Scope summary: Apache Tomcat versions 7.0.0 through 7.0.79 running on Windows with 'readonly' set to 'false'

Q3. What temporary mitigations or workarounds exist for CVE-2017-12615 before patching?

[Mitigation] Immediately upgrade Apache Tomcat to version 7.0.81 or later, or revert the 'readonly' parameter to 'true' in the web.xml configuration. Follow the CLI remediation commands and interactive SecOps checklist on this page to restrict exposure prior to your maintenance window.

SECOPS WORKBENCH INTEGRATION

Generate an Internal Engineering Notice or CISO Report for CVE-2017-12615

Instantly format this advisory into an executive CISO summary or engineering patch ticket.

Generate Report →

🔗 Related Advisories in Similar Stack (apache)

View Category →
SecOps Advisory Dispatch & RSS Feed

Subscribe to Daily Vulnerability Briefings & KEV Alerts

Concise morning briefings for SecOps, DevSecOps, and SRE teams covering newly exploited CVEs and mitigation priorities.

Slack / Teams / RSS Feed:
PatchKO
CVE-2017-12615 Apache Tomcat 7.0.x Windows Remote Code Execution Vulnerability (CVE-2017-12615) Security Advisory (CVSS 8.1) - Patch & Workaround | CVE Pulse