alex_aldo - Fotolia
A remote code execution vulnerability in the open source Apache Struts framework is being exploited in the wild, despite having been patched. What is the Apache Struts vulnerability, and how is it still being exploited even after it has been patched?
A good remote code execution vulnerability is the holy grail of vulnerabilities. Finding a remote code execution vulnerability that allows an actor to control the vulnerable software with root privileges is the pièce de résistance.
Apache Struts is a free, open source, Model-View-Controller framework for creating elegant and modern Java web applications, and enterprises sometimes use it to develop web applications.
However, despite the importance of not running software as root, that security control is sometimes skirted for legitimate reasons -- and other times, it's because someone couldn't figure out how to correctly run the software. The recently discovered Apache Struts vulnerability demonstrates that attackers are probing the internet looking for vulnerable systems.
The latest Apache Struts vulnerability was found in the file upload function provided by the Jakarta Multipart parser. The parser improperly processes a file upload request to allow a remote attacker to execute arbitrary commands by adding the string #cmd=[command] in the HTTP header.
The ability to execute commands this way is almost as good, for an attacker, as getting a remote shell on a vulnerable server, since the attacker can execute any command on the target system that the Struts user is allowed to run.
Cisco Talos reported that attackers used simple commands, including whoami, to discover the privilege level of the user running the service, and ifconfig to reveal network configurations. Other, more aggressive attacks with malicious payloads were also observed.
An updated version that patches the Apache Struts vulnerability was released in March 2017, and it is still being applied to vulnerable systems -- which is how attackers are still able to exploit the vulnerability.
Other than applying the patch, enterprises should ensure their software is running with minimal privileges, that they have comprehensive vulnerability scanning in place to identify systems to patch and that they have network tools to identify attacks like this.
Ask the expert:
Have a question about enterprise threats? Send it via email today. (All questions are anonymous.)
Find out how the Apache Struts vulnerability affected VMware
Learn how the Linux ip command differs from ifconfig
Read about how enterprises can benefit from automatic patching
Dig Deeper on Application and platform security
Related Q&A from Nick Lewis
Port scans provide data on how networks operate. In the wrong hands, this info could be part of a larger malicious scheme. Learn how to detect and ... Continue Reading
Cloud penetration testing presents new challenges for information security teams. Here's how a playbook from the Cloud Security Alliance can help ... Continue Reading
Many cloud providers are tight-lipped about internal security control details. Learn how to evaluate cloud security providers with certifications and... Continue Reading