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
Russia Hacked Clinton's Computers Five Hours After Trump's Call
Robert Lemos, Technology Journalist/Data Researcher,  4/19/2019
Tips for the Aftermath of a Cyberattack
Kelly Sheridan, Staff Editor, Dark Reading,  4/17/2019
Why We Need a 'Cleaner Internet'
Darren Anstee, Chief Technology Officer at Arbor Networks,  4/19/2019
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
5 Emerging Cyber Threats to Watch for in 2019
Online attackers are constantly developing new, innovative ways to break into the enterprise. This Dark Reading Tech Digest gives an in-depth look at five emerging attack trends and exploits your security team should look out for, along with helpful recommendations on how you can prevent your organization from falling victim.
Flash Poll
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2019-11498
PUBLISHED: 2019-04-24
WavpackSetConfiguration64 in pack_utils.c in libwavpack.a in WavPack through 5.1.0 has a &quot;Conditional jump or move depends on uninitialised value&quot; condition, which might allow attackers to cause a denial of service (application crash) via a DFF file that lacks valid sample-rate data.
CVE-2019-11490
PUBLISHED: 2019-04-24
An issue was discovered in Npcap 0.992. Sending a malformed .pcap file with the loopback adapter using either pcap_sendqueue_queue() or pcap_sendqueue_transmit() results in kernel pool corruption. This could lead to arbitrary code executing inside the Windows kernel and allow escalation of privilege...
CVE-2019-11486
PUBLISHED: 2019-04-23
The Siemens R3964 line discipline driver in drivers/tty/n_r3964.c in the Linux kernel before 5.0.8 has multiple race conditions.
CVE-2019-11487
PUBLISHED: 2019-04-23
The Linux kernel before 5.1-rc5 allows page-&gt;_refcount reference count overflow, with resultant use-after-free issues, if about 140 GiB of RAM exists. This is related to fs/fuse/dev.c, fs/pipe.c, fs/splice.c, include/linux/mm.h, include/linux/pipe_fs_i.h, kernel/trace/trace.c, mm/gup.c, and mm/hu...
CVE-2018-7576
PUBLISHED: 2019-04-23
Google TensorFlow 1.6.x and earlier is affected by: Null Pointer Dereference. The type of exploitation is: context-dependent.