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.follow Ryan Naraine on twitter

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.

Topics: Windows, Hardware, Microsoft, Operating Systems, Security, Software, Virtualization

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

97 comments
Log in or register to join the discussion
  • How did they exploit it?

    did they load a program into the virtual environment, or on the physical OS loaded on the machine?
    John Zern
  • RE: Vulnerability in Microsoft Virtual PC exploits the unexploitable

    Sir, please, now step away from the Windows Xp. Thank you, that will be all.
    akaSassinak
    • What happens if you have programs that work in Windows XP but not Vista/7?

      Just don't use them?

      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.
      AzuMao
      • What's unclear is...

        ...is this only for Windows XP in any of those virutal environments, or does this affect Windows 7 running *inside* any of those virtual environments?

        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.
        PollyProteus
        • It's actually pretty clear

          The vulnerability is in the virtualization software. So it affects any OS
          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.
          tikigawd
          • This is why I don't see virtualization..

            as the panacea for security on Windows. Better to use a Linux/OSS VM on Linux/BSD to put XP in that environment.

            However, some here seem to be having difficulty doing that as well.
            JCitizen
          • That might be a good solution

            for someone who needs Win7 and XP, and has another machine running Linux where he/she can set up virtualized XP. Or the person could work a dual-boot set-up. But for anyone who needs backwards compatibility this vulnerability is at least an inconvenience, and at worst a huge security flaw.

            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.
            tikigawd
          • I wonder if today's news is the reason...

            Microsoft may have been dragging their heels. I read they approved an XP mode that didn't require hardware support.

            I'm really confused now! :p
            JCitizen
          • Correction..

            ..half of the editions of Windows 7 offer it.
            The other half don't.
            AzuMao
          • Which DEP or is it both?

            There's software DEP within Windows and then there's hardware DEP that is enabled at the BIOS level. I'm wondering if is the Windows DEP that is vulnerable.
            markdean
      • Not that many

        Once Vista solved its driver issues, compatibility isn't much. I have found one game that had problems with Vista mainly due to its copy protection the Game issuer was able to patch it and it now works fine under Vista.

        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.
        DevGuy_z
        • Wrong...

          ...some programs--although capable-- will be blocked by code to run on Windows 7 as they don't recognize the kernel. Two come to mind SQL Server 7.0 and Office 2000.

          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.
          cosuna
  • Link to advisory?

    I can't find the advisory on Core Security's web site... although we do not run VirtualPC, we do use Hyper-V and I'd like to read the advisory and make sure it doesn't affect Hyper-V.

    Perhaps in the future you could link to the original source of information? It would avoid those unpleasant [citation needed] comments.
    s_southern
    • Hyper-V Is Not Affected

      FYI, Hyper-V is *not* affected.
      twhitman@...
    • Advisory

      Link to advisory added to story. It wasn't available when I wrote it.

      _r
      Ryan Naraine
  • Title is silly - Facts are confusing - Sloppy Article

    "exploits the unexploitable"

    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!
    croberts
    • indeed

      I agree that the article is a bit confusing. I
      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!
      TheLightcosine
      • Both.

        [b] [/b]
        AzuMao
        • I detect an inference by Microsoft...

          that issues with XP mode and Microsoft VM are different, maybe separate? But then I never understood MS doublespeak.

          Do you think they are one and the same?

          (edited) for language,and spelling.
          JCitizen
          • I think the software itself is the same, and thus problems in it as well.

            [b] [/b]
            AzuMao