Patchfirst
CVE-2017-12615 KEVRansomwarePublic exploit High · 8.1 EPSS 99.7%

Apache Tomcat on Windows Remote Code Execution Vulnerability

Apache · Tomcat

Summary

The flaw is an unrestricted file upload weakness in Apache Tomcat's default servlet on Windows, affecting Tomcat 7.0.0 through 7.0.79. Where HTTP PUT is enabled (for example by setting the default servlet's readonly initialisation parameter to false), an attacker who sends a specially crafted request can upload a JSP file that the server will then execute as code when requested, requiring no authentication or user interaction and only network access to the server.

Official description · NVD

When running Apache Tomcat 7.0.0 to 7.0.79 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.

Breakdown
78.7 / 100
Exploited
Yes, in CISA KEV
Reports
0
Tactics
2/15

How an attack unfolds

Based on mappings. Select a step to see the evidence.
  1. How attackers get in

  2. What they do

First seen exploited 16 months after disclosure. Public exploit code (Exploit-DB) appeared 1 day after disclosure.

  1. Disclosedday 0
  2. Public exploit codeExploit-DB+1 day
  3. First seen exploitedVulnCheck KEV evidence+16 mo
  4. Added to CISA KEVknown ransomware use; EU database agrees+5 yrs

CISA KEV listing is when exploitation was confirmed, not necessarily the first attack.

See the family tree

3 related vulnerabilities in the same code over 3 years. The latest fix listed for tomcat-embed-core is 9.0.1.

Same bug familyLinked by evidence that a fix failed or the same code was patched again. Oldest first.

  1. This CVECVE-2017-12615Tomcat on Windows Remote Code Execution19 Sep 2017KEV
  2. Next fix in the same packageMedium

    Why these are linked:

    • Fixed one release later7.0.79 → 7.0.82 (org.apache.tomcat.embed:tomcat-embed-core)
    • Similar weakness in the same product (machine-matched)same product + CWE + description similarity
    CVE-2017-12617Tomcat Remote Code Execution4 Oct 2017KEV
  3. relatedMedium

    Why these are linked:

    CVE-2021-24122Tomcat information disclosure14 Jan 2021

Fixes in tomcat-embed-coreMaven package, by fixed version. Earlier and later fixes in the same package, not necessarily the same bug.

  1. 6.0.18CVE-2008-19474 Jun 2008
  2. 7.0.79CVE-2017-1261519 Sep 2017KEV
  3. 8.0.4CVE-2014-009531 May 2014
  4. 9.0.0.M18CVE-2017-564817 Apr 2017
  5. 9.0.0.M19CVE-2017-565117 Apr 2017
  6. 9.0.1CVE-2017-126174 Oct 2017KEVLatest listed

techniques

2 , grouped by in kill-chain order, 2 cited passages 2

Initial AccessTA0001

Exploit Public-Facing Application T1190 Medium
AI mapping from the description · how it is exploited

Crafted HTTP PUT request exploits public-facing web app

it was possible to upload a JSP file to the server via a specially crafted request
From the official description (NVD) Original (opens in a new tab) ↗

PersistenceTA0003

Web Shell T1505.003 Medium
AI mapping from the description · primary impact

Uploaded JSP webshell enables server-side code execution

This JSP could then be requested and any code it contained would be executed by the server
From the official description (NVD) Original (opens in a new tab) ↗

Detection

0 rules for this CVE · 184 general rules for its techniques

Rules for this CVE

0 that reference CVE-2017-12615 directly.

CVE-specific rules are not available in this build. Search SigmaHQ ↗

Sigma rules © SigmaHQ, Detection Rule License 1.1; linked, not reproduced.

Am I affected? What do I upgrade to?

From GitHub Security Advisories and OSV

1 package in 1 ecosystem. Main package: org.apache.tomcat.embed:tomcat-embed-core.

Mavenorg.apache.tomcat.embed:tomcat-embed-coreGHSA-pjfr-qf3p-3q25

Upgrade to 7.0.104 or later

Fixes this CVE and 6 other known vulnerabilities in this package (CVE-2017-12617, CVE-2018-11784, +4).

Set the version to 7.0.104 or later in your pom.xml or build.gradle.

First fixed in 7.0.79 for CVE-2017-12615.

Affected versions

If you runUpgrade to
7.0.0 up to 7.0.797.0.104first fix for this CVE: 7.0.79

“Up to” means the second version is the fix and is not affected.

Check your lockfile against all CVEs

What security researchers reported

Not named in any threat report yet

Also mentioned in 50 community threat pulses (AlienVault OTX)

Weaker evidence

Pulses are indicator collections that anyone can publish. A mention is not confirmation of exploitation.

References

20 links, grouped by NVD tag (19 duplicates merged)
↑ ↓ chooseEnter openEsc close