What's old is new again: an exploit protection mechanism for a known flaw in the Linux kernel has fallen to a new attack targeting an old problem.
The so-called Stack Clash vulnerability, which was discovered and disclosed by Qualys, affects Linux, OpenBSD, NetBSD, FreeBSD, and Solaris, on i386 and amd64 processors. These platforms earlier this week received patches for the vulnerability, a memory management flaw in the Linux kernel that could allow attackers to bypass security controls previously put in place to prevent memory management attacks on Linux-based servers, appliances, and even Internet of Things devices.
Qualys developed seven exploits and proof-of-concepts to demonstrate the vulnerability, which could be used by an attacker to corrupt memory and run malicious code and ultimately gain control of a targeted machine. Researchers at Qualys are urging organizations to update their Linux plaforms immediately for the flaw.
"It [the flaw] has to do with the memory management of these systems, so it's widespread in terms of scope," says Jimmy Graham, director of the product protection team at Qualys. Graham says it allows a privilege escalation-type attack.
What makes this particular vulnerability unique is that it bypasses controls and mitigations that Linux developers put in place to prevent memory-management attacks. "It shows that the specific mitigation is not effective," he says.
The attack that StackClash executes really isn't new: The concept of the memory management/pressure attack was first employed by researchers in 2005, and again in 2010. Linux developers responded to those disclosures with the so-called StackGuard Page security mitigation for the operating system - which Stack Clash cheats. "We bypassed StackGuard Page … to jump into [Linux] memory," Graham notes.
Stack Clash, which require local access to the targeted Linux machine, works like this: it overwrites a region in the kernel memory called the stack, causing confusion in the memory and allowing an attacker to "clash" with another memory region. Qualys researchers used local privilege escalation exploits against the flaw to gain full root privileges to the targeted system.
What makes the attack especially dangerous is that it can be "chained" with another vulnerability to escalate into a deeper and more pervasive attack. An attacker could employ SQL injection as well and escalate the attack to reach other shared systems in the victim organization, according to Qualys, specifically in shared, multi-tenant systems.
"This affects any kind of Linux or BSD system – appliances to back-end equipment to Web servers," Graham says.
Don Bailey, founder and CEO of Lab Mouse Security, says while these memory pressure vulnerabilities have been well-documented, Stack Clash demonstrates just how widely these flaws can be exploited by attackers.
"The design of the operating system and how it reacts to memory pressure: that's fascinating research. This opens a whole new world of embedded systems that rely on Linux … which can be vulnerable as well to this style of attacks," he says. And the obvious problem of little or no patching of embedded systems puts them even more at risk.
While Stack Clash is a local attack, Qualys researchers haven't ruled out the possibility of remote attacks via the flaw as well.
"Our research has mainly focused on local exploitation: as of this writing on June 19, 2017, we do not know of any remotely exploitable application. However, remote exploitation of the Stack Clash is not excluded; although local exploitation will always be easier, and remote exploitation will be very application-specific," Qualys wrote in a blog post on the attack.