Loading ...

Unraveling the Struts2 Vulnerability CVE 2017-5638

Struts2 Vulnerability CVE 2017-5638 - A Deep Dive into a Major Security Flaw

16 Feb 2020
4-6 min read


The Struts2 Vulnerability CVE 2017-5638 is a significant security flaw in the Apache Struts2 web application framework. This vulnerability, discovered in 2017, allowed remote attackers to execute arbitrary commands. It is a stark example of the potential risks associated with web application development and the importance of maintaining robust security measures.

The Vulnerability Explained

The vulnerability lies in the Jakarta Multipart parser of Apache Struts2. Incorrect exception handling and error-message generation during file-upload attempts made it possible for remote attackers to execute arbitrary commands. This was achieved through a crafted Content-Type, Content-Disposition, or Content-Length HTTP header. The exploitation of this vulnerability could lead to severe consequences, including data breaches and unauthorized system access.

Exploitation of the Vulnerability

This vulnerability, which exists in both Linux and Windows servers, is a significant concern due to its potential for full remote command execution. A detailed tutorial explaining how hackers exploit Struts2 on Linux and Windows Servers provides an in-depth look at how this vulnerability is exploited by attackers.

The Struts2 vulnerability essentially allows commands to be executed under the privileges of the Web server. This means that an attacker can potentially gain control over the server, executing commands remotely. This has been actively exploited in the wild since the initial disclosure of the vulnerability.

The attacker can leverage these conditions to execute Object-Graph Navigation Language (OGNL) expressions. OGNL is a powerful expression language that allows getting and setting properties of Java objects, plus other extras such as list projection, selection, lambda expressions, and method invocation. In the context of the Struts2 vulnerability, these OGNL expressions can be manipulated to execute system commands, further escalating the potential damage.

This vulnerability underscores the importance of robust cybersecurity measures and the need for constant vigilance in the face of evolving threats. It serves as a stark reminder that the security landscape is ever-changing, and staying one step ahead of potential threats is crucial in today's digital age.

Impact and Mitigation

The impact of this vulnerability was widespread, affecting numerous web applications built using the Apache Struts2 framework. It highlighted the need for regular security audits and updates in web application development. In response to the discovery of this vulnerability, a patch was released to fix the issue. However, the existence of such a significant flaw in a widely used framework underscores the importance of proactive security measures and the potential risks of relying solely on third-party frameworks for web application development.


The Struts2 Vulnerability CVE 2017-5638 serves as a stark reminder of the importance of robust security measures in web application development. Despite the vulnerability being patched, its discovery underscores the need for constant vigilance, regular updates, and comprehensive security practices in the realm of web development. It is a testament to the fact that in the digital age, the security of web applications is paramount and cannot be compromised.

Leo G.
Created by
Leo G.

Don’t Want to Miss Anything?

Sign up for Newsletters

* Yes, I agree to the terms and privacy policy