1/1/2018
04:15 PM
Larry Loeb
Larry Loeb
Larry Loeb

Chain of Flaws Threatens Win 10

Chaining multiple vulnerabilities can create attacks that threaten millions of Windows 10 computers.



An attack on a computer system usually tries to knock something over and bypass that one thing. But that is not always the case. Sometimes, the attack can involve chaining a number of problem together to gain the final vulnerability.

Google's Project Zero found just such a complex chain can occur in Windows. They wrote in their blog about an attack that ends up allowing untrusted JavaScript to run outside a sandbox on a fully patched 64-bit Windows 10 system.

{Imag 1}

The method that they found was a variation of a Web Proxy Auto Discovery Protocol/Proxy Auto-Config (WPAD/PAC) attack. If those terms look unfamiliar to you, you aren't alone. They are artifacts of early internet efforts to make seamless connections. PAC was a way for JavaScript to find a server it could download a configuration file from, and WPAD a way to query a local network for where the PAC file could be found. When this is combined with vulnerabilities of the Microsoft JScript.dll file, all sorts of trouble ensues.

WPAD has been a previous attack vector which can allow an threat actor to monitor the URL of every site a browser visits, even if it has been protected with HTTPS encryption. But the Project Zero researchers took things even further in what they achieved, which is a total compromise of the target machine.

First, they chained two JScript bugs (namely an infoleak as well as a heap overflow) and then included other tricks (return-oriented programming for one) to bypass Windows security mitigations. They then escalated the process from local, where WPAD lives, to system.

The researchers also found an interesting memory read primitive (out-of-bounds read) that they used in this effort that may have nefarious use in other attack situations.

Microsoft has patched the bugs the researchers have found, but that does not mean that everyone can relax. As they put it, "Since the bugs are now fixed, does this mean we are done and can go home? Unlikely. Although we spent a fair amount of time, effort and compute power on finding jscript.dll bugs, we make no claims that we found all of them. In fact, where there are 7 bugs, there is likely to be an 8th."

They do recommend that users disable the WPAD service by default as well as sandbox the JScript interpreter inside the WPAD service. But your average user is not going to be able to do that.

The situation shows how methods and efforts that may have possibly been useful at one time long ago can serve in combination with other problems to blow a hole in the side of a victim's system. There will come a time when backwards compatibility will have to be sacrificed on the altar of security to avoid these kinds of large gaping wounds.

Related posts:

— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.

Comment  | 
Email This  | 
Print  | 
RSS
More Insights
Copyright © 2022 UBM Electronics, A UBM company, All rights reserved. Privacy Policy | Terms of Service