16 bit vulnerability in Windows dating back to Windows NT 3.1 uncovered
Talk about a vulnerability that’s been around for awhile! Google security engineer, Tavis Ormandy, has apparently unearthed a vulnerability in the Virtual DOS machine found in Windows versions ranging from the current Windows 7 version to versions dating back to Windows NT 3.1. Yes.. that would be circa 1993 (Shoot.. I just finishing up my freshmen year in college!).
The problem at hand? The Virtual DOS machine can be exploited to enable “unprivileged 16-bit programs to manipulate kernel stacks so attackers could get their own code executed at system privilege levels”. CVE has the following description for the vulnerability:
“The kernel in Microsoft Windows NT 3.1 through Windows 7, including Windows 2000 SP4, Windows XP SP2 and SP3, Windows Server 2003 SP2, Windows Vista Gold, SP1, and SP2, and Windows Server 2008 Gold and SP2, when access to 16-bit applications is enabled on a 32-bit x86 platform, does not properly validate certain BIOS calls, which allows local users to gain privileges by crafting a VDM_TIB data structure in the Thread Environment Block (TEB), and then calling the NtVdmControl function to start the Windows Virtual DOS Machine (aka NTVDM) subsystem, leading to improperly handled exceptions involving the #GP trap handler (aka nt!KiTrap0D).”
In a Microsoft security advisory, Microsoft claims it is “not aware of attacks that try to use the reported vulnerability or of customer impact at this time.”
Should you be concerned? Not really (unless of course you have a tendency to run 16 bit applications for some awful reason). If you’re really concerned, just disable your system’s DOS and WOWEXEC subsystems.
