What You Need to Know about the Recent Apache Struts Vulnerability

Monday, November 05, 2018

Tushar Richabadas


Researchers recently revealed a vulnerability in Apache Struts, a popular type of enterprise software. Active exploit attempts weren’t far behind.

The Equifax hack that occurred roughly a year ago was due to an earlier Apache Struts vulnerability (CVE-2017-9805). The team at Equifax was aware of the vulnerability but took some time to patch it — and in this gap the company was hacked, and the data of millions was stolen.

To avoid falling victim to a similar attack, it’s important for businesses and their IT service providers to understand the recently revealed CVE-2018-11776 Apache Struts vulnerability and how to guard against it. This is a command injection vulnerability in the Apache Struts framework. When you run the vulnerable version and have a specific vulnerable configuration, an attacker can perform remote code execution and breach the web application.

The specific vulnerability is exploitable when:

  • An action is configured to use no namespace or a wildcard namespace
  • The “struts.mapper.alwaysSelectFullNamespace” configuration is set to “true”

Struts uses OGNL (Object-Graph Navigation Language), an expression language to perform data transfer and type conversion. In the case where there is a wildcard namespace, Struts will take the user-defined namespace and in some cases, execute it as an OGNL expression. This means that an attacker can send specific commands that end up being executed when OGNL evaluates it.

An attacker can use this vulnerability to execute any type of commands on the hacked server. They could attempt to steal live payment information, install cryptominers or other software, hold the server to ransom, perform attacks using the server as a starting point, or simply delete all the data on the server.

Sharp Increase in Exploitation Attempts

Web application attacks are extremely common today — and they are increasingly weaponized using automated bots. Our honeypots detected a surge in exploitation attempts of the older Apache vulnerability immediately after the current vulnerability was announced. Since then, we’ve seen the level of activity remain high.

News has come out that the Mirai botnet has been repurposed to perform these exploitation attempts at a massive scale using infected IoT devices. It has been found that some versions of Mirai are attempting to exploit multiple different vulnerabilities to gain access to and control web servers.

When it comes to web application attacks, much more than the web application is at risk. Attackers can also use the web application as a staging area to gain further access to the network and access other critical resources. This means that any web application — no matter how small it is — should be patched and kept up to date at all times. However, patching a web application can take time. Between testing the patch to ensure that it does not break core functionality, finding sysadmin resources, and getting approvals for any required downtime, an application can remain unpatched for weeks or months. Having the right web application firewall in place can provide complete protection during this time by blocking known attacks and zero-day attacks. This provides you with valuable air cover while you get ready to fix the vulnerability on your web servers.

How a WAF Can Protect Against Other Attacks

A WAF should provide complete application protection, including against attacks most people don’t consider — like application distributed denial of service (DDoS), brute force attacks, and web scraping.

Application DDoS attacks are the subtle siblings of volumetric DDoS attacks. They fly under the radar by performing low and slow attacks against a web server, tying up its resources and bringing down an application. A typical example is multiple concurrent downloads of a large file, very slowly. A WAF can detect and block all kinds of application DDoS attacks.

Other types of automated attacks that occur often are brute force attacks — where hackers attempt to brute force login to applications — and web scraping. Web scraping is a large problem today; bots masquerading as valid users attempt to steal content and competitive information from web application for profit. A good WAF should have a powerful bot mitigation engine to detect and block bots with ease.

Multiple Layers of Protection for the Win

Organizations need to implement a multi-layered approach to ensure complete defense of their network. Defense in depth requires these layers to work in unison to defeat the various attacks against a network. This includes Advanced DDoS Protection to block volumetric attacks, cloud-generation firewalls to secure your network perimeter, and a WAF that combines web and API security along with secure application delivery in a single platform. All these layers work together to protect your applications and provide you with valuable air cover against today’s evolving threat landscape.

About the author: Tushar Richabadas is product manager for the Barracuda CloudGen WAF product line. His specific areas of focus are application security in the cloud, automation, and bot mitigation.

Possibly Related Articles:
CVE Vulnerabilities
vulnerability Apache Struts CVE-2018-11776 exploitation
Post Rating I Like this!
The views expressed in this post are the opinions of the Infosec Island member that posted this content. Infosec Island is not responsible for the content or messaging of this post.

Unauthorized reproduction of this article (in part or in whole) is prohibited without the express written permission of Infosec Island and the Infosec Island member that posted this content--this includes using our RSS feed for any purpose other than personal use.