CVE-2017-12615

CRITICALNVD 8.19.0
EchelonGraph scoreHIGH confidence

“▲” beside the score: it is higher than NVD's CVSS score.

Score elevated to 9.0 because this CVE is listed on the CISA Known Exploited Vulnerabilities catalog (added 2022-03-25), indicating real-world exploitation has been confirmed by US federal agencies. NVD baseline CVSS 8.1 retained for reference. The 9.0 is the floor for confirmed exploitation, not an impact rating: this CVE's impact severity (EG Severity) is CVSS 8.1 HIGH under NVD CVSS v3. Confidence: HIGH.

Triggered by: CISA KEV (actively exploited)
Sources: CISA Known Exploited Vulnerabilities catalog, EPSS, NVD CVSS v3
Exploited in the wild
9.0EG
EchelonGraph verdictPatch nowTreat as an emergency — this is being exploited.
  • 68 internet-facing services (distinct ip:port) on record running an affected version — derived from Shodan data (© Shodan); a patched service can stay counted while its port stays open
  • Actively exploited in the wild (CISA-KEV) — the reason this is sooner than the SSVC decision on this page at low or medium mission impact
  • Linked to ransomware campaigns
CISA-KEV: ExploitedEPSS PROB: 99.6%CVSS: 8.1Exploit: Public PoCExposed services: 68

A fix is available — apply it.

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.

Internet exposure · derived from Shodan data

68 internet-facing services (distinct ip:port) on record running a version that maps to CVE-2017-12615, in our KEV-Exposure radar’s Shodan-derived sample.

across 22 countries (China, United States, France, Korea, Republic of, Hong Kong)top: tomcat🔒 ransomware-linked
See the KEV-Exposure radar →Derived from Shodan data. Shodan data is owned by Shodan, which holds its copyright (© Shodan). EchelonGraph claims no ownership of it or copyright in it. Aggregate, host-redacted.

How it counts: every 12 hours, when Shodan query credits allow, the radar runs one Shodan query per tracked product, reads up to 100 ip:port services per query, and keeps a service when its banner version matches a CISA-KEV or high-EPSS CVE; a service is dropped when neither a search nor a Shodan InternetDB port re-check has refreshed it for 21 days. A re-check that finds the port still listed by Shodan InternetDB refreshes the service without re-reading the banner, so a patched service can stay counted while its port stays open. A count is a banner-version inference over a sample, not an exploit test and not an internet-wide census, and the unit is a service, not a machine: a machine answering on two ports counts twice.

CVSS v3
8.1
EG Score
9.0CRITICALhigh confidence
EG Risk
76
EG Risk 76/100

EG Risk is EchelonGraph's 0–100 priority score. It fuses impact severity (EG Severity, the CVSS base score, never the KEV-floored or EPSS-lifted EG Score) with real-world exploitation and automatability, under weights EchelonGraph set by hand, so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner.

How it’s computed (value × EchelonGraph’s weight)
Severity81% × 45%
Impact severity (EG Severity): CVSS 8.1 of 10. Never the KEV-floored or EPSS-lifted EG Score.
Exploitation100% × 40%
Fixed at 100% for a CISA KEV listing: EchelonGraph's rule.
Automatability0% × 15%
CISA's SSVC Automatable value: no (Vulnrichment).
SSVC (CISA's decision table, applied by EchelonGraph): Track at low, Attend at medium and Act at high mission impact.
Exploitation active (CISA Vulnrichment) · Automatable no (CISA Vulnrichment) · Technical impact total (CISA Vulnrichment). All three are CISA's SSVC values (Vulnrichment). EchelonGraph applied CISA's decision table to them; CISA publishes SSVC inputs and the table, not a decision for each CVE.
Action: A fix is available. Apply it within your standard update timelines at low, sooner than that at medium and as soon as possible at high mission impact.
EPSS PROB
99.6%
EPSS %ILE
99th
KEV
⚠ Exploited

What the EG score is made of (scorer v4.0: the three questions the 0–10 score mixes, published apart · methodology)

The EG score (9.0): severity, escalated by confirmed exploitation. This CVE's 9.0 is the CISA KEV floor for confirmed exploitation, not an impact rating: its impact severity (EG Severity) is CVSS 8.1 HIGH.

EG Severity
8.1 HIGHCVSS-B, impact only: no KEV listing, EPSS or EG-KEV tier raises it.NVD CVSS v3 · CVSS v3.0 or v3.1
EG Likelihood
99.6% within 30 daysSource: FIRST EPSS (model v2026.06.15, score date 2026-10-22). FIRST's exploitation probability, not an EchelonGraph model.
Confirmed exploitation
CISA KEV and EG-KEV Tier 1 (exploited in the wild)Reported apart from the likelihood: an observed fact, not a probability.
EG Priority
SSVC Attend at medium mission impactTrack at low, Attend at medium and Act at high mission impact.CISA BOD 26-04: 3 days & forensic triage if the affected system is publicly exposed; 14 days if it is not.Each input and its source: the SSVC and BOD 26-04 blocks below.

SSVC (CISA's decision table, applied by EchelonGraph)Track at low, Attend at medium and Act at high mission impact.

A fix is available. Apply it within your standard update timelines at low, sooner than that at medium and as soon as possible at high mission impact.

Exploitation active (CISA Vulnrichment) · Automatable no (CISA Vulnrichment) · Technical impact total (CISA Vulnrichment). All three are CISA's SSVC values (Vulnrichment). EchelonGraph applied CISA's decision table to them; CISA publishes SSVC inputs and the table, not a decision for each CVE. Mission impact is CISA's Mission & Well-being decision point, and only you can judge it. CISA's table makes it high when Mission Prevalence is Essential — the vulnerable component "directly provides capabilities that constitute at least one MEF for at least one entity" (MEF: mission essential function) — or when Public Well-Being Impact is Irreversible: "multiple fatalities are likely", the cyber-physical system "is likely lost or destroyed", "extreme or serious externalities" are imposed on other parties, or social systems such as elections or the financial grid "are destabilized and potentially collapse". CISA's decision table

BOD 26-04 (CISA's remediation timeline, Table 1)3 days & forensic triage if the affected system is publicly exposed; 14 days if it is not.

In CISA KEV yes (CISA's KEV catalog) · Automatable no (CISA Vulnrichment) · Technical impact total (CISA Vulnrichment). Whether your system is publicly exposed is yours to answer. BOD 26-04 binds US Federal Civilian Executive Branch agencies; for anyone else it is CISA's published timeline, a reference rather than an obligation. The directive · how EchelonGraph applies it

CISA required action“Apply updates per vendor instructions.”

Quoted verbatim from CISA's Known Exploited Vulnerabilities catalog. CISA directs it at US federal civilian executive branch agencies under Binding Operational Directive (BOD) 26-04, which replaced BOD 22-01 on 10 June 2026; it is not EchelonGraph's advice. CISA's notes: https://nvd.nist.gov/vuln/detail/CVE-2017-12615

Published

September 19, 2017

Last Modified

August 6, 2026

Advisory Details (10)

Auto-updated Oct 19, 2026
⚠️ Actively exploited (CISA KEV, CISA Vulnrichment). Patch available. Sources: redhat.
Web page

GitHub - breaktoprotect/CVE-2017-12615: POC Exploit for Apache Tomcat 7.0.x CVE-2017-12615 PUT JSP vulnerability. · GitHub

https://github.com/breaktoprotect/CVE-2017-12615
Red HatMentions a patch (unverified)
https://access.redhat.com/errata/RHSA-2018:0466
Red HatMentions a patch (unverified)
https://access.redhat.com/errata/RHSA-2018:0465
Red HatMentions a patch (unverified)
https://access.redhat.com/errata/RHSA-2017:3114
Red HatMentions a patch (unverified)
https://access.redhat.com/errata/RHSA-2017:3113
Red HatMentions a patch (unverified)

Affected: Red Hat Enterprise Linux 7.

https://access.redhat.com/errata/RHSA-2017:3081
Red HatMentions a patch (unverified)

Affected: Red Hat Enterprise Linux 6.

https://access.redhat.com/errata/RHSA-2017:3080
Web page🟡 PoC Available

Break To Protect: The Case of CVE-2017-12615 Tomcat 7 PUT vulnerability

http://breaktoprotect.blogspot.com/2017/09/the-case-of-cve-2017-12615-tomcat-7-put.html

Vendor Advisories for CVE-2017-12615(2)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Patch Availability(6)

Vendor / EcosystemFix (by version range) / PatchReleasedSource
redhatpatch2018-03-07redhat
redhattomcat-vault-0:1.1.6-1.Final_redhat_1.1.ep7.el72018-03-07redhat
redhattomcat72017-11-02redhat
redhattomcat7-0:7.0.54-28_patch_05.ep6.el72017-11-02redhat
redhattomcat6-0:6.0.24-111.el6_92017-10-30redhat
redhattomcat-0:7.0.76-3.el7_42017-10-30redhat

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Affected Packages

(1 across 1 ecosystem)
Maven(1)
PackageVulnerable rangeFix by version rangeDependents
org.apache.tomcat.embed:tomcat-embed-core7.0.0 ... 7.0.8 (54 versions)
  • 7.0.0 up to 7.0.79: fixed in 7.0.79
—

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Additional Vendor Advisories

(4)

Data Freshness Timeline

(refreshed 13× in last 7d / 148× in last 30d)

Each row is a time one of our pipelines fetched, updated or re-scored this CVE. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. An arrow marks a change the record states ("CVSS v3 → 9.1"); EPSS and GHSA rows show the values recorded at that time, not what changed (EPSS values are rounded; hover one for the exact figures). Most recent first.

Showing the most recent 99 of 951 refreshes on record for this CVE.

A repeat, a row identical to one the same pipeline wrote less than 10 seconds earlier, is not a separate refresh and is not counted. 1 repeat row among the latest 100 is merged into the row it repeats. The 852 oldest rows on record are not shown and were not checked, so the counts can still include repeats.

  1. 2026-10-22 23:09 UTCEG score recompute
  2. 2026-10-22 23:09 UTCVendor advisory
  3. 2026-10-21 21:29 UTCEG score recompute
  4. 2026-10-21 21:29 UTCVendor advisory
  5. 2026-10-20 19:49 UTCEG score recompute
  6. 2026-10-20 19:49 UTCVendor advisory
  7. 2026-10-19 18:09 UTCEG score recompute
  8. 2026-10-19 18:09 UTCVendor advisory
  9. 2026-10-18 16:27 UTCEG score recompute
  10. 2026-10-18 16:27 UTCVendor advisory
  11. 2026-10-18 10:40 UTCEG score recompute
  12. 2026-10-17 14:58 UTCEG score recompute
  13. 2026-10-17 14:58 UTCVendor advisory
  14. 2026-10-16 13:19 UTCEG score recompute
  15. 2026-10-16 13:19 UTCVendor advisory
  16. 2026-10-15 11:39 UTCEG score recompute
  17. 2026-10-15 11:39 UTCVendor advisory
  18. 2026-10-14 16:27 UTCEPSS rescoreEPSS 99.6% · 99th percentile
  19. 2026-10-14 10:00 UTCEG score recompute
  20. 2026-10-14 10:00 UTCVendor advisory
  21. 2026-10-13 08:21 UTCVendor advisory
  22. 2026-10-12 20:35 UTCEG score recompute
  23. 2026-10-12 06:40 UTCVendor advisory
  24. 2026-10-12 02:44 UTCVendor advisory
  25. 2026-10-11 22:49 UTCEG score recompute
Show 74 more
  1. 2026-10-11 22:49 UTCVendor advisory
  2. 2026-10-11 18:55 UTCEG score recompute
  3. 2026-10-11 18:55 UTCVendor advisory
  4. 2026-10-11 15:01 UTCEG score recompute
  5. 2026-10-11 15:01 UTCVendor advisory
  6. 2026-10-11 11:07 UTCVendor advisory
  7. 2026-10-11 07:13 UTCVendor advisory
  8. 2026-10-11 03:20 UTCVendor advisory
  9. 2026-10-10 23:22 UTCVendor advisory
  10. 2026-10-10 19:28 UTCVendor advisory
  11. 2026-10-10 15:35 UTCVendor advisory
  12. 2026-10-10 11:41 UTCVendor advisory
  13. 2026-10-10 07:46 UTCVendor advisory
  14. 2026-10-10 03:53 UTCVendor advisory
  15. 2026-10-09 23:58 UTCVendor advisory
  16. 2026-10-09 20:04 UTCVendor advisory
  17. 2026-10-09 16:11 UTCVendor advisory
  18. 2026-10-09 12:17 UTCVendor advisory
  19. 2026-10-09 08:24 UTCVendor advisory
  20. 2026-10-09 04:29 UTCVendor advisory
  21. 2026-10-09 00:36 UTCVendor advisory
  22. 2026-10-08 20:42 UTCVendor advisory
  23. 2026-10-08 16:49 UTCVendor advisory
  24. 2026-10-08 12:55 UTCVendor advisory
  25. 2026-10-08 08:58 UTCVendor advisory
  26. 2026-10-08 05:05 UTCVendor advisory
  27. 2026-10-08 01:11 UTCVendor advisory
  28. 2026-10-07 21:17 UTCVendor advisory
  29. 2026-10-07 17:23 UTCVendor advisory
  30. 2026-10-07 13:29 UTCVendor advisory
  31. 2026-10-07 09:35 UTCVendor advisory
  32. 2026-10-07 05:41 UTCVendor advisory
  33. 2026-10-07 01:47 UTCVendor advisory
  34. 2026-10-06 21:52 UTCVendor advisory
  35. 2026-10-06 17:57 UTCVendor advisory
  36. 2026-10-06 14:03 UTCVendor advisory
  37. 2026-10-06 10:10 UTCVendor advisory
  38. 2026-10-06 06:17 UTCVendor advisory
  39. 2026-10-06 02:23 UTCVendor advisory
  40. 2026-10-05 22:29 UTCVendor advisory
  41. 2026-10-05 18:36 UTCVendor advisory
  42. 2026-10-05 14:42 UTCVendor advisory
  43. 2026-10-05 10:49 UTCVendor advisory
  44. 2026-10-05 06:54 UTCVendor advisory
  45. 2026-10-05 03:00 UTCVendor advisory
  46. 2026-10-04 23:05 UTCVendor advisory
  47. 2026-10-04 19:09 UTCVendor advisory
  48. 2026-10-04 15:15 UTCVendor advisory
  49. 2026-10-04 11:18 UTCVendor advisory
  50. 2026-10-04 07:25 UTCVendor advisory
  51. 2026-10-04 03:31 UTCVendor advisory
  52. 2026-10-03 23:38 UTCVendor advisory
  53. 2026-10-03 19:44 UTCVendor advisory
  54. 2026-10-03 15:50 UTCVendor advisory
  55. 2026-10-03 11:56 UTCVendor advisory
  56. 2026-10-03 08:02 UTCVendor advisory
  57. 2026-10-03 04:06 UTCVendor advisory
  58. 2026-10-03 00:12 UTCVendor advisory
  59. 2026-10-02 20:18 UTCVendor advisory
  60. 2026-10-02 16:23 UTCVendor advisory
  61. 2026-10-02 12:28 UTCVendor advisory
  62. 2026-10-02 08:34 UTCVendor advisory
  63. 2026-10-02 04:41 UTCVendor advisory
  64. 2026-10-02 00:46 UTCVendor advisory
  65. 2026-10-01 20:50 UTCVendor advisory
  66. 2026-10-01 16:53 UTCVendor advisory
  67. 2026-10-01 12:55 UTCVendor advisory
  68. 2026-10-01 09:02 UTCVendor advisory
  69. 2026-10-01 05:08 UTCVendor advisory
  70. 2026-10-01 01:15 UTCVendor advisory
  71. 2026-09-30 21:21 UTCVendor advisory
  72. 2026-09-30 17:28 UTCVendor advisory
  73. 2026-09-30 13:34 UTCVendor advisory
  74. 2026-09-30 09:41 UTCVendor advisory

Publicly available exploits

(10 references)

Public exploit code is referenced for this CVE (1 Exploit-DB entry, 7 GitHub PoCs), as are 1 Nuclei detection template, 1 GitHub checker repository. A detection template checks whether a system is affected; it is not necessarily exploit code. A GitHub repository named or described as a checker or scanner checks whether a system is affected; it is not necessarily exploit code. Defenders should treat patch urgency accordingly.

  • GitHub checkerlizhianyuguangming/TomcatScanPro
    Published Aug 29, 2024

    tomcat自动化漏洞扫描利用工具,支持批量弱口令检测、后台部署war包getshell、CVE-2017-12615 文件上传、CVE-2020-1938/CNVD-2020-10487 文件包含

    Open source ↗
  • GitHub PoCxiaokp7/Tomcat_PUT_GUI_EXP
    Published Mar 10, 2023

    Tomcat PUT方法任意文件写入(CVE-2017-12615)exp

    Open source ↗
  • GitHub PoCtpt11fb/AttackTomcat
    Published Nov 13, 2022

    Tomcat常见漏洞GUI利用工具。CVE-2017-12615 PUT文件上传漏洞、tomcat-pass-getshell 弱认证部署war包、弱口令爆破、CVE-2020-1938 Tomcat AJP文件读取/包含

    Open source ↗
  • Nucleihttp/cves/2017/CVE-2017-12615.yaml
    Published Feb 10, 2021

    Apache Tomcat Servers - Remote Code Execution

    Open source ↗
  • GitHub PoC1337g/CVE-2017-12615
    Published Dec 26, 2017

    CVE-2017-12615 Tomcat RCE (TESTED)

    Open source ↗
  • GitHub PoCwsg00d/cve-2017-12615
    Published Nov 1, 2017

    tomcat-put-cve-2017-12615

    Open source ↗
  • GitHub PoCzi0Black/POC-CVE-2017-12615-or-CVE-2017-12717
    Published Oct 6, 2017

    CVE-2017-12617 and CVE-2017-12615 for tomcat server

    Open source ↗
  • GitHub PoCmefulton/cve-2017-12615
    Published Sep 25, 2017

    just a python script for cve-2017-12615

    Open source ↗
  • GitHub PoCbreaktoprotect/CVE-2017-12615
    Published Sep 23, 2017

    POC Exploit for Apache Tomcat 7.0.x CVE-2017-12615 PUT JSP vulnerability.

    Open source ↗
  • Exploit-DBEDB-42953
    Published Sep 20, 2017

    Apache Tomcat < 9.0.1 (Beta) / < 8.5.23 / < 8.0.47 / < 7.0.8 - JSP Upload Bypass / Remote Code Execution (1)

    Open source ↗

Frequently asked(6)

What is CVE-2017-12615?
CVE-2017-12615 is a critical-severity vulnerability; its CVE record was published on September 19, 2017. 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…
When was CVE-2017-12615 made public?
CVE-2017-12615 was made public on September 19, 2017: that is the date its CVE record's CNA, Apache Software Foundation, gives for when the vulnerability was made public. The CVE record itself was published on September 19, 2017. EchelonGraph's copy of the record carries a last-modified date of August 6, 2026; the record at its source may have been updated since.
Is CVE-2017-12615 actively exploited?
Yes. CISA added CVE-2017-12615 to the Known Exploited Vulnerabilities catalog on March 25, 2022, affecting Apache Tomcat. KEV listing indicates confirmed exploitation in the wild; this CVE warrants immediate attention. A fix is available. Apply it.
What is the CVSS score of CVE-2017-12615?
CVE-2017-12615 has a CVSS v3 base score of 8.1 (NVD). EchelonGraph synthesises NVD + CISA KEV + FIRST EPSS + GHSA into a combined EG score of 9.0 (CRITICAL).
Which products are affected by CVE-2017-12615?
CVE-2017-12615 affects Apache Tomcat. The affected packages EchelonGraph has on record, with version ranges, are listed in the Affected Packages section of this page.
How do I remediate CVE-2017-12615?
A fix for CVE-2017-12615 is available: update to the fixed version the vendor names in its advisory. The vendor advisories EchelonGraph has for CVE-2017-12615 are linked in the Vendor Advisories panel on this page.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2017-12615

Explore →

Is Your Infrastructure Affected by CVE-2017-12615?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.