Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Vulnerabilities / Threats

Patch Imperfect: Software Fixes Failing to Shut Out Attackers

Incomplete patches are allowing attackers to continue exploiting the same vulnerabilities, reducing the cost to compromise.

More than a third of the zero-day vulnerabilities discovered in 2020 were variants of previously disclosed — or incompletely patched — issues, showing that attackers do not have to do original research to continue to exploit many vulnerabilities, a Google researcher told virtual attendees at USENIX's Enigma 2021 conference this week.

In a presentation titled "The State of 0-Day in-the-Wild Exploitation," Google security researcher Maddie Stone discussed how six of the 24 zero-day exploits detected by the Google Project Zero team in 2020 were variants of previously discovered vulnerabilities. In addition, another three exploits targeted flaws that had been poorly patched and, with a few tweaks, could be attacked again.

Related Content:

Attackers Continue to Nibble at Apple's iOS Security

Special Report: Special Report: Understanding Your Cyber Attackers

New From The Edge: What I Wish I Knew at the Start of My InfoSec Career

In short, software developers are failing to properly fix known vulnerabilities, giving gifts to attackers of easy-to-research issues, she said. 

"[A]cross the industry, incomplete patches are making it easier for attackers to exploit users with zero days," she said. "We are not requiring attackers to come up with all new bug classes, develop [new types of] exploitation, or look at code that has never been researched before. We're allowing the reuse of vulnerabilities that we previously knew about."

Zero-day vulnerabilities — security issues that are unknown to software vendors at the time they are exploited — are often the tools of nation-state attackers or commercial spyware providers. So far this year, Microsoft announced that a vulnerability in its anti-malware software, Microsoft Defender, had proof-of-concept code published in the wild. In addition, Apple fixed three vulnerabilities in iOS and iPadOS in late January that are currently being exploited in the wild.

While the vast majority of attacks are not based on exploiting unknown vulnerabilities, detecting attacks even when they are using zero-day vulnerabilities is a critical part of any security program.

Novel classes of bugs tend to get the most attention, though Stone's research suggests attackers' most cost-effective strategy is to analyze patches and determine the details of any vulnerability patched. Not only does that approach give attackers information on security issues that could still be exploited on unpatched systems — since companies and users are often slow to patch — but the information gleaned from the exercise could suggest ways to circumvent the software fix. 

Software vendors need to focus on getting the patch right the first time, Stone said.

"What we are detecting is that attackers are able to keep using ... attack surfaces, and the same types of vulnerabilities, and the same exploit methods they have been able to use before. That seems to a big loss [of an opportunity] that we have not been able to capitalize on as an industry," she said.

Stone argued that patches need to be both correct and comprehensive the first time they are pushed out. Correct patches fix the security issue and prevents exploitation of the underlying vulnerability. Comprehensive patches also cover any other vectors of exploiting the same vulnerability.

"When exploiting a single vulnerability or bug, there are often multiple ways to trigger the vulnerability, or multiple paths to access it," she said in a blog post published today. "Many times we're seeing vendors block only the path that is shown in the proof-of-concept or exploit sample, rather than fixing the vulnerability as a whole, which would block all of the paths."

Google Project Zero has focused on finding vulnerabilities so as to raise the bar for attackers looking for unknown security issues. The 24 zero-day vulnerabilities found being exploited in 2020 is about average. The number of previously unknown vulnerabilities discovered during attacks ranged from 12 to 28 over the past seven years, with 20 found in 2019, according to an analysis of zero-day vulnerabilities published in 2019.

A key part of the initiative is the detection and tracking of attacks that use previously unknown vulnerabilities — a battle Google's Stone fears the industry is losing. For the most part, companies and organizations are bad at detecting the exploitation of undisclosed vulnerabilities, Stone concluded. 

While there are a variety of ways to improve, the best start is to prevent attackers from reusing patched issues, she said.

"Almost every security team I know is resource constrained," she said. "But we get this gift when these get detected. We have insight into what exploit methods attackers are using. They don't want us to know that — then they have to invest more research ... rather than be able to go back to the same areas over and over."

Veteran technology journalist of more than 20 years. Former research engineer. Written for more than two dozen publications, including CNET News.com, Dark Reading, MIT's Technology Review, Popular Science, and Wired News. Five awards for journalism, including Best Deadline ... View Full Bio

Recommended Reading:

Comment  | 
Print  | 
More Insights
Newest First  |  Oldest First  |  Threaded View
Inside the Ransomware Campaigns Targeting Exchange Servers
Kelly Sheridan, Staff Editor, Dark Reading,  4/2/2021
Beyond MITRE ATT&CK: The Case for a New Cyber Kill Chain
Rik Turner, Principal Analyst, Infrastructure Solutions, Omdia,  3/30/2021
Register for Dark Reading Newsletters
White Papers
Current Issue
2021 Top Enterprise IT Trends
We've identified the key trends that are poised to impact the IT landscape in 2021. Find out why they're important and how they will affect you today!
Flash Poll
How Enterprises are Developing Secure Applications
How Enterprises are Developing Secure Applications
Recent breaches of third-party apps are driving many organizations to think harder about the security of their off-the-shelf software as they continue to move left in secure software development practices.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
PUBLISHED: 2021-04-17
The overlayfs implementation in the linux kernel did not properly validate with respect to user namespaces the setting of file capabilities on files in an underlying file system. Due to the combination of unprivileged user namespaces along with a patch carried in the Ubuntu kernel to allow unprivile...
PUBLISHED: 2021-04-17
Shiftfs, an out-of-tree stacking file system included in Ubuntu Linux kernels, did not properly handle faults occurring during copy_from_user() correctly. These could lead to either a double-free situation or memory not being freed at all. An attacker could use this to cause a denial of service (ker...
PUBLISHED: 2021-04-17
A command injection vulnerability has been reported to affect QTS and QuTS hero. If exploited, this vulnerability allows attackers to execute arbitrary commands in a compromised application. We have already fixed this vulnerability in the following versions: QTS Build 20210202 and later Q...
PUBLISHED: 2021-04-17
An SQL injection vulnerability has been reported to affect QNAP NAS running Multimedia Console or the Media Streaming add-on. If exploited, the vulnerability allows remote attackers to obtain application information. QNAP has already fixed this vulnerability in the following versions of Multimedia C...
PUBLISHED: 2021-04-16
jose-node-esm-runtime is an npm package which provides a number of cryptographic functions. In versions prior to 3.11.4 the AES_CBC_HMAC_SHA2 Algorithm (A128CBC-HS256, A192CBC-HS384, A256CBC-HS512) decryption would always execute both HMAC tag verification and CBC decryption, if either failed `JWEDe...