Application Security

New Apache Struts Vulnerability Leaves Major Websites Exposed

The vulnerability, found in Struts' core functionality, could be more critical than the one involved in last year's Equifax breach.

Remember last year's Equifax hack? It involved an exploit of a vulnerability in Apache Struts. Yesterday, news came of a new vulnerability in the open source Web framework, one that some people are saying could be worse than the one that put nearly everyone's credit card information into the hands of criminals.

The new vulnerability, designated CVE-2018-11776, was discovered by Man Yue Mo, a researcher on the Semmle security research team. This vulnerability is in the core functionality of Struts, allowing remote code execution (RCE) when the framework is configured in certain ways.

"The vulnerability doesn't exist because of configurations, but when the system is configured in a certain way, you can take advantage of vulnerabilities that exist in Struts," says Glen Pendley, deputy CTO at Tenable.

In the blog post announcing its discovery of the vulnerability, Semmle estimated that at least 65% of Fortune 500 companies use Struts in at least some of their Web applications. Because of its popularity, any core vulnerability is likely to have wide implications for security across the Internet.

"The part of the framework that it touches is potentially far more impactful than earlier vulnerabilities. The endpoints are far more widely used," Pendley says.

Semmle worked with the Apache Foundation to responsibly disclose the vulnerability, and a set of software updates was issued simultaneously with its disclosure. The Apache Foundation and multiple security professionals recommended immediate updating for any organization using an affected version of Struts.

"It's important that organizations using Struts components upgrade quickly," says Chris Eng, vice president of research at CA Veracode. Pendley agrees. "Patch your system," he says. "Get it to a version that's not vulnerable. I wouldn't waste time looking for workarounds."

While the vulnerabilities are real and dangerous, it's important to note that they require quite specific (though not uncommon) configurations to allow an attacker to exploit the vulnerability. According to the Apache Foundation, the configurations required are:

  • The alwaysSelectFullNamespace flag is set to true in the Struts configuration. This is the default setting if an application uses the popular Struts Convention plug-in.
  • An application's Struts configuration file contains an <action ...> tag that does not specify the optional namespace attribute or specifies a wildcard namespace (e.g. “/*”).

Some security expderts were quick to point out that these requirements limit the vulnerability's danger:

The problem is knowing, with confidence, whether an organization has an application configured in a vulnerable manner. "Where I think people are going to get in trouble is if the amount of time they take to check the vulnerability of the software," Pendley says.

To manage the constant threat of new vulnerabilities, Eng advises development teams to "maintain a comprehensive inventory of all the open source elements that are included in their applications."  

"Only when taking advantage of alerts and notifications of newly discovered vulnerabilities, which are then checked against an accurate, up-to-date inventory, can organizations understand their exposure and how best to mitigate this risk," he says.

Related Content:

 

Learn from the industry's most knowledgeable CISOs and IT security experts in a setting that is conducive to interaction and conversation. Early bird rate ends August 31. Click for more info

Curtis Franklin Jr. is Senior Editor at Dark Reading. In this role he focuses on product and technology coverage for the publication. In addition he works on audio and video programming for Dark Reading and contributes to activities at Interop ITX, Black Hat, INsecurity, and ... View Full Bio

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
How the US Chooses Which Zero-Day Vulnerabilities to Stockpile
Ricardo Arroyo, Senior Technical Product Manager, Watchguard Technologies,  1/16/2019
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Current Issue
The Year in Security 2018
This Dark Reading Tech Digest explores the biggest news stories of 2018 that shaped the cybersecurity landscape.
Flash Poll
How Enterprises Are Attacking the Cybersecurity Problem
How Enterprises Are Attacking the Cybersecurity Problem
Data breach fears and the need to comply with regulations such as GDPR are two major drivers increased spending on security products and technologies. But other factors are contributing to the trend as well. Find out more about how enterprises are attacking the cybersecurity problem by reading our report today.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2019-3906
PUBLISHED: 2019-01-18
Premisys Identicard version 3.1.190 contains hardcoded credentials in the WCF service on port 9003. An authenticated remote attacker can use these credentials to access the badge system database and modify its contents.
CVE-2019-3907
PUBLISHED: 2019-01-18
Premisys Identicard version 3.1.190 stores user credentials and other sensitive information with a known weak encryption method (MD5 hash of a salt and password).
CVE-2019-3908
PUBLISHED: 2019-01-18
Premisys Identicard version 3.1.190 stores backup files as encrypted zip files. The password to the zip is hard-coded and unchangeable. An attacker with access to these backups can decrypt them and obtain sensitive data.
CVE-2019-3909
PUBLISHED: 2019-01-18
Premisys Identicard version 3.1.190 database uses default credentials. Users are unable to change the credentials without vendor intervention.
CVE-2019-3910
PUBLISHED: 2019-01-18
Crestron AM-100 before firmware version 1.6.0.2 contains an authentication bypass in the web interface's return.cgi script. Unauthenticated remote users can use the bypass to access some administrator functionality such as configuring update sources and rebooting the device.