← Vulnerability feed

Vulnerability record · CVE-2017-12617 · published 4 October 2017

CVE-2017-12617: Apache Tomcat Default Servlet JSP upload leads to remote code execution

Apache · Tomcat

Apache Tomcat with HTTP PUT enabled (for example, the Default servlet readonly parameter set to false) allows an attacker to upload a JSP file through a crafted request. The uploaded JSP can then be requested and executed by the server, giving code execution in the Tomcat process. The flaw affects Tomcat 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.

8.1 CVSS 3.1 High CISA KEV since 25 Mar 2022 EPSS 100% · top 0.1% CWE-434 · Unrestricted file upload
8.1CVSS 3.1 base score, v2 6.8
100%EPSS exploitation probability, 30 days
YesIn CISA KEV, fix deadline passed
58Affected product versions listed by NVD
89References, 4 tagged exploit
25 Aug 2026Last modified by NVD

Description

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.

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 16 September 2026. Confidence: high.

critical priorityThe flaw allows unauthenticated remote code execution, is listed in CISA KEV and has an EPSS probability near 1.0, so it is actively exploited and must be remediated immediately.

What it is

Apache Tomcat with HTTP PUT enabled (for example, the Default servlet readonly parameter set to false) allows an attacker to upload a JSP file through a crafted request. The uploaded JSP can then be requested and executed by the server, giving code execution in the Tomcat process. The flaw affects Tomcat 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.

Impact

An attacker gains arbitrary code execution with the privileges of the Tomcat service, which can lead to full server compromise, data theft or lateral movement. No credentials are needed if PUT is reachable.

Attack surface

Reached over the network via HTTP PUT requests to a Tomcat instance where write access is enabled on the Default servlet. No authentication or user interaction is required per the CVSS vector (AV:N/PR:N/UI:N), though the attack complexity is rated high.

Exploitation

CVE-2017-12617 is listed in CISA KEV (added 2022-03-25) and has an EPSS 30-day probability of 0.99988, indicating active exploitation in the wild. References are patch and advisory links; no ransomware campaign use is documented.

What to do

  • Upgrade Apache Tomcat to a fixed release for your branch (9.0.1 or later, 8.5.23 or later, 8.0.47 or later, 7.0.82 or later) or apply the vendor patch.
  • Disable HTTP PUT on the Default servlet by keeping the readonly initialization parameter set to true.
  • Restrict network access to Tomcat management and application ports to trusted hosts only.
  • Remove or disable the Default servlet write capability and any unnecessary WebDAV or PUT handlers.
  • Monitor and alert on unexpected JSP files appearing in web-accessible directories.

Detection

  • Search web server and Tomcat access logs for PUT requests returning 2xx status codes, especially those targeting .jsp paths.
  • Monitor web-accessible directories for newly created or modified JSP files and alert on unexpected writes.
  • Look for outbound connections or child processes spawned by the Tomcat service that are inconsistent with normal application behavior.
  • Correlate PUT requests with subsequent GET requests to the same JSP file within a short time window.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Exploitation in the wild

CISA added CVE-2017-12617 to the Known Exploited Vulnerabilities catalog on 25 March 2022 as "Apache Tomcat Remote Code Execution Vulnerability". Required action: Apply updates per vendor instructions. Federal deadline 15 April 2022.

Affected products

58 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

LinkTags
http://www.oracle.com/technetwork/security-advisory/cpuapr2018-3678067.html PatchThird Party Advisory
http://www.oracle.com/technetwork/security-advisory/cpujan2018-3236628.html PatchThird Party Advisory
http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html PatchThird Party Advisory
http://www.securityfocus.com/bid/100954 Broken LinkThird Party AdvisoryVDB Entry
http://www.securitytracker.com/id/1039552 Broken LinkThird Party AdvisoryVDB Entry
https://access.redhat.com/errata/RHSA-2017:3080 Third Party Advisory
https://access.redhat.com/errata/RHSA-2017:3081 Third Party Advisory
https://access.redhat.com/errata/RHSA-2017:3113 Third Party Advisory
https://access.redhat.com/errata/RHSA-2017:3114 Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:0268 Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:0269 Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:0270 Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:0271 Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:0275 Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:0465 Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:0466 Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:2939 Third Party Advisory
https://lists.apache.org/thread.html/1dd0a59c1295cc08ce4c9e7edae5ad2268acc9ba55adcefa0532e5ba%40%3Cdev.tomcat.apache.org Mailing ListPatch
https://lists.apache.org/thread.html/343558d982879bf88ec20dbf707f8c11255f8e219e81d45c4f8d0551%40%3Cdev.tomcat.apache.org Mailing ListPatch
https://lists.apache.org/thread.html/388a323769f1dff84c9ec905455aa73fbcb20338e3c7eb131457f708%40%3Cdev.tomcat.apache.org Mailing ListPatch
https://lists.apache.org/thread.html/3d19773b4cf0377db62d1e9328bf9160bf1819f04f988315086931d7%40%3Cdev.tomcat.apache.org Mailing ListPatch
https://lists.apache.org/thread.html/3fd341a604c4e9eab39e7eaabbbac39c30101a022acc11dd09d7ebcb%40%3Cannounce.tomcat.apach Issue TrackingMailing List
https://lists.apache.org/thread.html/5c0e00fd31efc11e147bf99d0f03c00a734447d3b131ab0818644cdb%40%3Cdev.tomcat.apache.org Mailing ListPatch
https://lists.apache.org/thread.html/6af47120905aa7d8fe12f42e8ff2284fb338ba141d3b77b8c7cb61b3%40%3Cdev.tomcat.apache.org Mailing ListPatch
https://lists.apache.org/thread.html/845312a10aabbe2c499fca94003881d2c79fc993d85f34c1f5c77424%40%3Cdev.tomcat.apache.org Mailing ListPatch
https://lists.apache.org/thread.html/88855876c33f2f9c532ffb75bfee570ccf0b17ffa77493745af9a17a%40%3Cdev.tomcat.apache.org Mailing ListPatch
https://lists.apache.org/thread.html/b5e3f51d28cd5d9b1809f56594f2cf63dcd6a90429e16ea9f83bbedc%40%3Cdev.tomcat.apache.org Mailing ListPatch
https://lists.apache.org/thread.html/e85e83e9954f169bbb77b44baae5a33d8de878df557bb32b7f793661%40%3Cdev.tomcat.apache.org Mailing ListPatch
https://lists.apache.org/thread.html/eb6efa8d59c45a7a9eff94c4b925467d3b3fec8ba7697f3daa314b04%40%3Cdev.tomcat.apache.org Mailing ListPatch
https://lists.apache.org/thread.html/r3bbb800a816d0a51eccc5a228c58736960a9fffafa581a225834d97d%40%3Cdev.tomcat.apache.or Mailing ListPatch
https://lists.apache.org/thread.html/r48c1444845fe15a823e1374674bfc297d5008a5453788099ea14caf0%40%3Cdev.tomcat.apache.or Mailing ListPatch
https://lists.apache.org/thread.html/r6ccee4e849bc77df0840c7f853f6bd09d426f6741247da2b7429d5d9%40%3Cdev.tomcat.apache.or Mailing ListPatch
https://lists.apache.org/thread.html/r9136ff5b13e4f1941360b5a309efee2c114a14855578c3a2cbe5d19c%40%3Cdev.tomcat.apache.or Mailing ListPatch
https://lists.apache.org/thread.html/raba0fabaf4d56d4325ab2aca8814f0b30a237ab83d8106b115ee279a%40%3Cdev.tomcat.apache.or Mailing ListPatch
https://lists.debian.org/debian-lts-announce/2017/11/msg00009.html Mailing ListThird Party Advisory
https://security.netapp.com/advisory/ntap-20171018-0002/ Third Party Advisory
https://security.netapp.com/advisory/ntap-20180117-0002/ Third Party Advisory
https://support.f5.com/csp/article/K53173544 Third Party Advisory
https://support.hpe.com/hpsc/doc/public/display?docLocale=en_US&docId=emr_na-hpesbhf03812en_us Third Party Advisory
https://support.hpe.com/hpsc/doc/public/display?docLocale=en_US&docId=emr_na-hpesbux03828en_us Third Party Advisory

Track CVE-2017-12617 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

10.0CVE-2025-32433Erlang/OTP SSH server missing authentication allows remote code executionErlang/OTP SSH servers before OTP-27.3.3, OTP-26.2.5.11 and OTP-25.3.2.20 mishandle SSH protocol messages, letting an unauthenticated attacker execut…KEVEPSS 99%analysed10.0CVE-2025-24201Apple WebKit out-of-bounds write allows sandbox escapeCVE-2025-24201 is an out-of-bounds write in Apple's WebKit that was addressed with improved checks. Maliciously crafted web content may break out of …KEVEPSS 3.8%analysed10.0CVE-2021-44228Apache Log4j2 JNDI lookup remote code executionApache Log4j2 versions 2.0-beta9 through 2.15.0 (excluding 2.12.2, 2.12.3, and 2.3.1) do not protect against attacker-controlled LDAP and other JNDI …KEVEPSS 100%analysed9.8CVE-2026-24061GNU Inetutils telnetd argument injection allows remote auth bypasstelnetd in GNU Inetutils through 2.7 fails to sanitize the USER environment variable, so a value such as "-f root" is passed as an argument to login …KEVEPSS 99%analysed9.8CVE-2025-39682Linux kernel TLS zero-length record handling flaw on rx_listThe Linux kernel TLS receive path mishandles zero-length records that arrive from the rx_list, breaking the assumption that a record type change cann…KEVEPSS 2.9%analysed9.8CVE-2025-24813Apache Tomcat Default Servlet path equivalence enables RCE and file disclosureApache Tomcat mishandles path equivalence for names containing an internal dot, letting a remote unauthenticated attacker write files through the Def…KEVEPSS 100%analysed9.8CVE-2024-9680Mozilla Firefox and Thunderbird use-after-free in Animation timelinesA use-after-free flaw in Animation timelines allows an attacker to execute code in the content process of Firefox and Thunderbird. Mozilla reports ex…KEVEPSS 23%analysed9.8CVE-2023-46604Apache ActiveMQ OpenWire deserialization remote code executionThe Java OpenWire protocol marshaller in Apache ActiveMQ deserializes untrusted data, letting an attacker manipulate serialized class types so the br…KEVEPSS 100%analysed

Source: NIST National Vulnerability Database (record CVE-2017-12617), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.