Vulnerability in Microsoft Virtual PC exploits the unexploitable
Summary: Some applications with bugs that are not exploitable when running in a not-virtualized operating system are rendered exploitable if running within a guest OS in Virtual PC.
An exploit writer at Core Security Technologies has discovered a serious vulnerability that exposes users of Microsoft's Virtual PC virtualization software to malicious hacker attacks.
The vulnerability, which is unpatched, essentially allows an attacker to bypass several major security mitigations -- Data Execution Prevention (DEP), Safe Exception Handlers (SafeSEH) and Address Space Layout Randomization (ASLR) -- to exploit the Windows operating system.
As a result, some applications with bugs that are not exploitable when running in a not-virtualized operating system are rendered exploitable if running within a guest OS in Virtual PC, according to Ivan Arce, chief technology officer at Core.
The flaw, discovered by Core exploit writer Nicolas Economou, exists in the memory management of the Virtual Machine Monitor. It causes memory pages mapped above the 2GB level to be accessed with read or read/write privileges by user-space programs running in a Guest operating system.
Affected software includes Microsoft Virtual PC 2007, Virtual PC 2007 SP1, Windows Virtual PC and Microsoft Virtual Server 2005. On Windows 7 the XP Mode feature is also affected by the vulnerability.
In particular, a vulnerable application running in Windows XP Mode on Windows 7 may be exploitable in a virtual environment, while the same application running directly on a Windows XP SP3 operating system is not.
Microsoft Hyper-V technology is not affected by this problem.
Arce said Core reported the flaw to Microsoft last August -- more than seven months ago -- but after back-and-forth discussions, the company decided it would not issue a security bulletin to provide patches.
"They [Microsoft] said that they agreed with our assessment of the problem, that it makes DEP/SafeSEH and ASLR bypassable. However, they say it doesn't meet their criteria for a security bulletin and that they'll fix in a service pack or a future product update," Arce explained in a telephone interview from his office in Buenos Aires, Argentina.
"Given that that's their decision, we feel we have to inform people of the risk so they can make informed decisions," he added. "We consider this a vulnerability that needs to be fixed."
Microsoft officials declined to comment until they had a chance to review Core's advisory on the issue.
Microsoft’s Virtual PC hypervisor is an element of the company’s Windows Virtual PC package, which allows users to run multiple Windows environments on a single computer. The hypervisor is a key component of Windows 7 XP Mode, a feature in Microsoft’s latest desktop operating system aimed at easing the migration path into the new OS for users and enterprises that need to run legacy Windows XP applications on its native OS.
With this discovery, Arce said it may transform a certain type of common software bug into exploitable vulnerabilities. "Certain vulnerabilities that have been dismissed as non-exploitable may now be exploitable on virtualized environments," he said. "Let's say someone found a vulnerability 2-3 years ago in a virtual application. They did the analysis and determined it was not exploitable because it only caused a crash in the client app. Now, you can bypass DEP and SafeSEH and that same vulnerability or a large list of vulnerabilities may be exploitable on on virtualized systems."
Core recommends that affected users run all mission critical Windows applications on native iron or use virtualization technologies that aren’t affected by this vulnerability.
Windows operating systems and applications that must run virtualized using Virtual PC technologies should be kept at the highest patch level possible and monitored to detect exploitation attempts.
“This particular case provides a good example of how mechanisms designed to improve an operating system’s security over many years can eventually become ineffective when some of the basic underlying aspects of their operation are changed by virtualization technology," Arce said.
UPDATE #1: Here is a link to Core's advisory, which includes a technical description of the issue and proof-of-concept code.
UPDATE #2: Here is Microsoft's official response:
Core Security Technologies is describing a way for an attacker to more easily exploit security vulnerabilities already present on the system, rather than an actual vulnerability. It does this by rendering a number of protection mechanisms that are present in the Windows kernel less effective inside a virtual machine as opposed to a physical Windows machine. An attacker would need to abuse an already present vulnerability in order to leverage this technique.
In the scenario Core describes, the functionality is limited to within the virtualized environment– in other words, an attacker could only exploit a vulnerability in an application running “inside” the guest virtual machine on Windows XP rather than Windows 7 in the case of Windows XP Mode. Specially an attacker could not take over a whole host machine running multiple virtual machines. The safeguards within Windows 7 on the desktop OS (DEP, ASLR, and SafeSEH etc.) remain in place.
In addition, an actual vulnerability must already be present in an application running in the guest machine in order for an attacker to take advantage of this. The difference is that on a regular Windows system, that bug may not be exploitable, whereas in the Virtual PC guest machine, it potentially could be.
Microsoft continues to recommend using Windows XP Mode and Windows Virtual PC as a bridging strategy to Windows 7 if they are concerned about compatibility for some of their legacy applications, so that customers can realize the full security benefits Windows 7 offers.
Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.
Talkback
How did they exploit it?
RE: Vulnerability in Microsoft Virtual PC exploits the unexploitable
What happens if you have programs that work in Windows XP but not Vista/7?
If you don't have a problem with replacing your favorite programs with alternatives, why not switch to a Linux-based OS?
Also, did you even read the article? The problem applies to all of Microsoft's Virtual PC line, not just XP Mode.
What's unclear is...
If it's only XP (not Vista or Windows 7) in those virtual environments, then the scale of panic should be reduced to someone finding out that they're out of coffee.
If it's *any* OS inside that virutal environment, then it should be re-addressed by Microsoft.
As it stands now, the insinuation is that it's only XP, but again, insinuation is not the same as complete disclosure.
It's actually pretty clear
running "inside," provided that that OS already has certain
vulnerabilities that would have otherwise been rendered useless in a
native environment. XP is mentioned because Win7 offers virtualized XP
out of the box.
This is why I don't see virtualization..
However, some here seem to be having difficulty doing that as well.
That might be a good solution
It's unfortunate that MS doesn't deem this important. I'll grant that the number of people needing virtualized XP is not that large, but virtual XP in Win7 was a selling point for Win7 in order to appease people and/or corporations who were weary of migration due to incompatibility with older applications. So MS's attitude towards this vulnerability downgrades Win7's appeal IMO, at least until they fix it.
I wonder if today's news is the reason...
I'm really confused now! :p
Correction..
The other half don't.
Which DEP or is it both?
Not that many
Having many different applications and games including some old DOS ones, I don't find Vista to be a problem. The UI is a little crusty but it is very stable.
BTW, I have spent hours in Linux compiling drivers trying to get wireless hardware to work correctly.
For most non-power users, unless doing simple stuff like web browsing managing a linux desktop is a lot more trouble. Add a hard disk, its detected and you are prompted to format it. Add a disk to Linux you have to edit a file.
Wrong...
Most people outside the Enterprise world don't know the amount of legacy apps being carried by companies that had bet on Windows ubiquity to develop on that platform. Most of that programs will crash or work erratically on Windows 7 mainly due to the fact that W7 accounts aren't normally administrator or the fact that UAC protects folders but legacy file handling API (mostly MFC or old Java) won't raise UAC when attempting to save on those folders.
End result: You'll have phantom files that appear to be saved, but aren't.
As the previous poster noted, if you can just get rid of this apps, why not get rid of Windows. Why not? Compatibility? See.
Link to advisory?
Perhaps in the future you could link to the original source of information? It would avoid those unpleasant [citation needed] comments.
Hyper-V Is Not Affected
Advisory
_r
Title is silly - Facts are confusing - Sloppy Article
What does that even mean, and how does it even relate to the facts in the acticle?
Maybe you should rename it:
"Virtual PC flaw disables OS defences inside the VM environment"
And also clarify, if the vulnerability renders the Guest vulnerable, or the Host!
indeed
believe from what they are saying, it is the guest
that is made vulnerable, but what I am unclear of
is whether it is accessible from user-space inside
the guest or suer-land inside the host. please
clarify!
Both.
I detect an inference by Microsoft...
Do you think they are one and the same?
(edited) for language,and spelling.
I think the software itself is the same, and thus problems in it as well.