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" - 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 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: 490a0046304402202dd8c1c47f988e352064f8076ab0213428202922a2ea124638b4e3c9b9b19c6f02200ec32d17a3e91604e9741f85056d40220c143b9849ff66124b453479caa640a1:922c64590222798bb761d5b6d8e72950