News

Published on July 30th, 2019 📆 | 3160 Views ⚑

0

Series of Zero-Day Vulnerabilities Could Endanger …


iSpeech.org

Vulnerabilities in VxWorks' TCP stack could allow an attacker to execute random code, launch a DoS attack, or use the vulnerable system to attack other devices.

A series of vulnerabilities in a real-time operating system (RTOS) could leave up to 200 million devices open to exploit. And those devices include everything from network firewalls to medical devices. The vulnerabilities aren't theoretical — the exploits have been demonstrated — and many of the affected devices haven't been touched or actively managed in years.

A team of researchers from Armis found 11 critical zero-day vulnerabilities in VxWorks, a popular RTOS that has been in use since the late 1980s. The vulnerabilities, which include 6 remote code execution (RCE) vulnerabilities, and 5 that are denial of service, information leak, or logical flaw vulnerabilities, are present in versions of the operating system that span more than 13 years.

The RCE vulnerabilities, which would allow an attacker to execute any code they choose on a vulnerable system, have an additional quality that makes them critical. "Normally, when a network vulnerability is exploited, the attack comes from inside the network," says Ben Seri, vice president of research at Armis. He points out that firewalls and other network edge devices are programmed to recognize and stop network vulnerability exploits that come from outside the network.

"In this case, an attacker can leverage a vulnerability to attack a device that's behind network address translation (NAT) and behind a firewall," Seri explains, because, "The vulnerability is in the TCP header itself. It traverses these devices without being stopped by the firewall."

The issue, he says, is that the contents of a packet can be encrypted to be protected from theft or corruption, but headers travel in clear-text. If an attacker knows network communication is taking place, they can intercept the traffic and make their changes to the header without needing to know the packet's contents.

As has been the case with a number of other vulnerabilities, the problems are made worse by mis-configuration. "These are pretty basic memory exploit bugs, but users have to enable existing security features," says Craig Young, computer security researcher for Tripwire’s vulnerability and exposure research team (VERT). "The devices [Armis] were testing weren't making use of the secure configuration. From my experience, this isn't rare."

One of the factors complicating the way companies will address the vulnerabilities is that it can be very difficult to know whether a particular IoT device is running VxWorks. "A very big concern, when I start thinking about this, is how do we identify who's impacted? How does a business or organization identify, hey, do I have these things in my environment or not have these things in my environment?" asks Deral Heiland, research lead for IoT technology at Rapid 7. Most organizations, he says, don't know which operating systems are running under the covers of the firewalls, routers, printers, or process controllers in their organization.

"It's often like a 'plug and ignore' thing, Heiland explains. "If it happens to be on a printer or cable modem or some kind of communication device, it's not core to the business, but a side function of the business operation." And since they're not core functionality, many organizations won't know whether they're vulnerable or not.

Seri is quick to point out that there is some good news with the bad. While the vulnerabilities exist in every version of VxWorks from v6.5 forward, they are not present either in VxWorks 653 or VxWorks Certified — the versions most often used in the most sensitive and critical devices.

In addition, Young says the the sky is not falling due to these vulnerabilities in VxWorks' TCP stack routines. "This can't be trivially exploited by anyone without skill," he says. "When it's exploited, it will be on a per-device basis and the attacks will take time."





Even with the difficulty, though, the pool of potential victims is very large. Dave Weinstein, CSO of Clarity, says, "The potential for scale is pretty high. And while there has been no evidence of infections in the wild, there's a good chance that hackers have exploited this vulnerability given how long it goes back." 

Weinstein says that he's cautious about pronouncements of doom, and general prefers that difficult to patch vulnerabilities be communicated in private, rather than through public disclosure. But, he admits, "Then again, that won't land you on a big stage at BlackHat."

Seri and fellow researcher For Zusman will present their findings in Critical Zero Days Remotely Compromise the Most Popular Real-Time OS, on Thursday, August 8, at Black Hat USA.

Related Content:

 

Black Hat USA returns to Las Vegas with hands-on technical Trainings, cutting-edge Briefings, Arsenal open-source tool demonstrations, top-tier security solutions, and service providers in the Business Hall. Click for information on the conference and to register.

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

More Insights

!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '832000476880185');
fbq('track', 'PageView');

(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "http://connect.facebook.net/en_US/all.js#xfbml=1&appId=640989409269461";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

Source link

Tagged with:



Comments are closed.