Newly-Found Windows Bug Affects All Versions Since NT
garg0yle writes "A researcher has found a security bug that could allow privilege escalation in Windows. Nothing new there, right? Well, this affects the Virtual DOS Machine, found in every 32-bit version of Windows all the way back to Windows NT. That's 17 years worth of Windows and counting. 'Using code written for the VDM, an unprivileged user can inject code of his choosing directly into the system's kernel, making it possible to make changes to highly sensitive parts of the operating system. ... The vulnerability exists in all 32-bit versions of Microsoft OSes released since 1993, and proof-of-concept code works on the XP, Server 2003, Vista, Server 2008, and 7 versions of Windows, Ormandy reported.'"
Cue "Windows Sucks" comments in 5, 4, 3, 2, 1....
Every time I read about one of these long-undiscovered instant pwn bugs, I always have to wonder if there's someone sitting deep underground in an NSA computer center saying "Well shit, looks like we'll not be using that exploit anymore."
Is this a hole nobody knew about or a hole nobody but the people who knew about it knew about, and those people weren't talking?
Kwisatz Haderach
Sell the spice to CHOAM
This Mahdi took Shaddam's Throne
Yet another driving factor for using the 64-bit editions of Windows (or something completely different from Windows altogether!).
This is the cost of backward compatibility at the expense of everything else. That is what made Microsoft and that is what may break it.
This space for rent.
This bug was discovered by Tavis Ormandy.
Tavis, you need a girlfriend.
Nope, Linux can't even run a simple app that will run on every version of NT since 1993. Some OS Linux is.
"I use a Mac because I'm just better than you are."
Yet another reason people need to abandon 32-bit OSs. Seriously. What's the point of using half the power of your CPU?
For those who seek perfection there can be no rest on this side of the grave.
Linux has it's own version of such bugs. Yes, even with the 'many eyes' looking at the source, it does happen, F/OSS is no panacea.
From http://news.zdnet.com/2100-9595_22-332141.html
A hole has been found in Linux kernel versions stretching back eight years that is 'as trivial as it can get to exploit', according to the Google employees who discovered it.
Julien Tinnes and Tavis Ormandy, the security researchers who discovered the vulnerability, have already issued a patch for the flaw. According to a blog post written by Tinnes on Thursday, the hole "affects all 2.4 and 2.6 kernels since 2001 on all architectures", and is "the public vulnerability affecting the greatest number of kernel versions".
This space for rent.
In particular, if that could be used to turn the "safe" IE8 into something unsafe could lead into more governments asking their citizens to stop using IE, any version of it.
Ormandy said the security hole can easily be closed by turning off the MSDOS and WOWEXEC subsystems. The changes generally don't interfere with most tasks since they disable rarely-used 16-bit applications. He said he informed Microsoft security employees of the vulnerability in June.
So, to be clear, is this only about 32-bit Windows builds then?
64-bit Windows doesn't even support running 16-bit applications. And that's what WOWEXEC is all about. However, I'm less sure about this "MSDOS" subsystem in 64-bit builds? What's that for, anyway? The console emulation?
Beware: In C++, your friends can see your privates!
it looks Like one more reason to switch to 64bit to me. I have been using 64bit since Vista. Now I am glad I made the switch. and since the oem keys for vista and 7 are good for both the 32bit and 64bit versions the only excuse for not going 64bit is laziness (assuming you have a 64bit processor) I have yet to find a 32bit program that doesn't run on my 64bit machine.
there are 10 types of people in this world, those who read binary and those who don't. which are you!
Sure it can- Wine. I've had surprisingly good luck running Windows apps natively on Linux (ie. not in a virtual machine or emulator).
Windows 7 64-bit is not vulnerable to this, and thats the version that is pushing heavily to OEMs and companies.
This space for rent.
Slashdot makes me sick. It's just not fair to go digging 14 years prior to the date when Microsoft finally starting taking security seriously.
Rich And Stupid is not so bad as Working For Rich And Stupid.
So much for 'nobody writes hacks for old stuff anymore, if we just keep running NT we'll never get hacked' Sounded good at the time.
That's not an equivalent bug, because it affects all architectures. This bug is in some architecture-specific code for running the VM86 mode on IA32 chips. It doesn't affect NT 4 on Alpha, PowerPC, or MIPS, or any more recent versions on x86-64 or IA64.
I am TheRaven on Soylent News
I don't know about you, but I don't want all those unemployed former MS-programmers to get down to Linux.
I'm helping to keep the Linux codebase clean and pragmatic by running Windows once in a while and giving a false sense of userdemand.
But seriously though, I have seen alot of "opensource windows clones", they all look like clowns to me in usability and aesthetics.
Actually, I was just messing around. I'm kind of suprised it took someone this long to find a vulnerability in wowexec. I'm sure MS is not even thinking much about this, yet pretty much any program can have the possiblity of a buffer overrun or some sort of registry memory shift.
I found it funny that the Google ad displayed next to the article was for Microsoft forefront touting the security features.
http://www.perfectreign.com/stuff/2010/forefront.jpg
The Kai's Semi-Updated Website Thingy
Last I checked WINE doesn't virtualize DOS.
Anyone still running only 32-bit Windows deserves the vulnerability. This is just one more reason why people should be upgrading to 64-bit.
I just checked my Windows 7 installation. I don't see wowexec.exe in the process tree when running a cmd session.
The Kai's Semi-Updated Website Thingy
I always wondered by PEEK and POKE still worked in QBASIC.
The difference is how much faster it was fixed once it was discovered, and how much less work and money that it takes to run a new version of Linux. Switching from a vulnerable Win2K or NT to 7 is a VERY costly endeavor. Switching to a new version of Linux is not nearly as big of an undertaking.
My blog. Good stuff (when I remember to update it). Read it.
Interesting co-incidence that you should bring up that example. Tavis Ormandy, one of those who discovered the Linux kernel bug you mentioned, was also the one who posted the details on the Windows 16bit VDM bug that we're discussing here to Full Disclosure yesterday. I guess he must like his code to be covered in cobwebs or something...
UNIX? They're not even circumcised! Savages!
Vulnerability applies to 32-bit Microsoft Windows operating systems with Windows NT 3.5 heritage.
Vulnerability arises from ancient coding or design flaws in the MS-DOS execution subsystem. This subsystem is not present in 64-bit Windows OSs.
The workaround is to disable the MS-DOS subsystem.
Great article at the SANS Institute Internet Storm Center: http://isc.sans.org/diary.html?storyid=8023. This includes links to Youtube videos on how to use Windows Group Policy tools to disable this subsystem.
However, once you do this, you won't be able to run 16-bit DOS-based software, so if you really need that you may have to wait for a patch. Or build a dedicated DOS machine, where at least you'll have no illusions of security. (Cynics would say this is true of any MS operating system, but I leave that debate to others.)
Welcome to the Panopticon. Used to be a prison, now it's your home.
Wine enumlates dos now? Hmm.
Of course, your own phrase illuminates the problem. I don't want to rely on "suprisingly good luck" to run applications.
Clearly, you don't have an ATI video card, do you?
This isn't a "Newly-found" bug. It was discoverd and reported to Microsoft on 12-Jun-2009. Not sure what's worse: An OS vendor whom doesn't patch holes quickly or a blog editor whom is clueless and uses inaccurate headlines to waste readers time.
Last time I checked, Wine didn't even fully implement Win32.
...the German and French governments advise their citizens against using Windows altogether, not just Internet Explorer.
from Tavis Ormandy's disclosure
So the bug was found six months ago, but Microsoft only decided it was serious enough to fix after it was publicized. Seems like another case of "responsible disclosure" being used to cover up a vulnerability, instead of fixing it (or publishing a workaround) before the bad guys find out about it.
You will never be able to review the source code of your windows OS.
All you have to be is Chinese Government. That is all. You think the Google hack was found by relentless probing of defenses of the WinOS? Or did they have to just grep through the WinOS source code for things like strcpy()?
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
Windows 98SE rules!
Is this a hole nobody knew about or a hole nobody but the people who knew about it knew about, and those people weren't talking?
The only public figure in American society who had anything remotely insightful to say in the last twenty years or so:
.
.
cmd.exe has nothing to do with DOS or NTVDM - it's a native 32bit Windows console mode application.
Coffee-driven development.
thats the version that is pushing heavily to OEMs and companies.
I'd say so. I bought a refurb PC with a copy of Windows Vista 32-bit. It was eligible for the free upgrade to Windows 7, which to my surprise came in 64-bit. That was a pleasant surprise, although I'm pretty convinced that Windows 7 is really just Mojave 2.
I went to eat some animal crackers and the box said, "Do not eat if seal is broken." I opened the box and sure enough..
Wine doesn't have to. There are other applications that virtualize DOS. They seem to do better than XP does at it too.
A Pirate and a Puritan look the same on a balance sheet.
Linux has it's own version of such bugs. Yes, even with the 'many eyes' looking at the source, it does happen, F/OSS is no panacea.
From http://news.zdnet.com/2100-9595_22-332141.html
A hole has been found in Linux kernel versions stretching back eight years that is 'as trivial as it can get to exploit', according to the Google employees who discovered it.
Julien Tinnes and Tavis Ormandy, the security researchers who discovered the vulnerability, have already issued a patch for the flaw. According to a blog post written by Tinnes on Thursday, the hole "affects all 2.4 and 2.6 kernels since 2001 on all architectures", and is "the public vulnerability affecting the greatest number of kernel versions".
Eight year is a pretty 'good' record, but Windows still wins by 7 more (NT3.5 released in 1994, more or less the time of release of Linux 1.0). Also notice that then Linux bug was fixed almost contextually with its report, whereas the one this article is about has not not been fixed 6 months+ after the report was acknowledged. This is where open source wins.
"I'm never quite so stupid as when I'm being smart" (Linus van Pelt)
XP64 is insane. How in the hell did they completely break hiding desktop icons to the point where it's no longer even an option? This and other lolwut stuff in XP64 is what made me switch back to 32. I refuse to use Vista or 7 until they, you know, work.
~The roAm
ATI makes crap binary blob drivers. Whether or not you are updating your kernel has little bearing on this.
Of course if you follow the recommendations of Windows-centric hardware review sites, you don't won't have this problem. '-p
A Pirate and a Puritan look the same on a balance sheet.
If you want to run MS DOS apps use dosemu or dosbox. In fact do this in 32bit Windows as well...
Analogies don't equal equalities, they are merely somewhat analogous.
How do you know they had enough time to fix it before going RTM?
Now, if it's not fixed in the service pack, then I think you can complain.
It's official. Most of you are morons.
I've always assumed any Windows PC I'm using could have been rooted long ago
Corrected version:
I've always assumed any device with a closed-source OS/BIOS/firmware/other code I'm using could have been rooted long ago
There, fixed that for you.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
Ah, good point.
I fired up a 16-bit application I still have lying around (I worked on it back in '93-95.) and occasionally run in DOSBox for the fun of it.
I do see NTVDM running but not WOW. (I remember WOW being an NT thing.)
The Kai's Semi-Updated Website Thingy
Certainly the best way to eliminate this threat is to do away with the NTVDM altogether and use virtualization, similar to how Windows 7 Pro has "XP Mode." Microsoft should create a virtual HD (*.vhd) file with MS-DOS 6.22 installed on it and then offer it as a free download. Users could either use Virtual PC or the virtualization solution of their choice (VirtualBox, VMWare, etc).
DOSBox is also a decent solution, although it is geared more towards DOS games than to completely and accurately emulating MS-DOS.
Agreed on time to patch.
But comparing switching from Win2K to 7 to a simple Linux upgrade isn't fair. We're talking about 10 year old software here - as an example Ubuntu don't support simple in-place upgrades for anything more than a couple of years old (and while I'm no expert Debian seems to have similar multi-step upgrades for older versions). If you're running an OS from 2000 (of any type) and want to upgrade to the latest, you're basically looking at a wipe & reinstall regardless.
---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"
Yep, I wonder how many still call the Command Prompt in NT-series OSes the "DOS prompt", even though it is a misnomer. MS unfortunately did not help by naming the Start Menu item for cmd.exe the "MS-DOS Prompt" in NT 4.0 and below. MS was able to fix this in Win2K, but... In fact, I wonder how many still confuse Win32 console apps with DOS apps.
WOW is for 16-bit Windows apps, not DOS apps.
Vista to Windows 7 had more than a few changes under the covers. Not to mention that the UI is a lot more well baked. I found a lot of the changes in Vista to be nice, but incomplete. I like Win7 quite a bit more than Vista, though the new taskbar would be #1 on my list of favored changes, I honestly liked the XP start menu better than either, exception to the search box.
Michael J. Ryan - tracker1.info
Perhaps MS should finally grow some balls and ditch legacy code. Just do it. It's not about what the customer thinks they want, it's about progress. Do it like Jobs.
That is all.
So, you mean to tell me Microsoft lied all those times they claimed Windows was rewritten? Didn't see that one coming...
Jason-Palmer.com
I'm not getting a lot of these posts. Microsoft is a software business, not a computer science business. I think some of you may be confusing one for the other. This is par for the course.
yum update xorg-x11-drv-ati
There, that wasn't so hard, was it?
Does any major software still need the 16-bit subsystem?
Amusingly, when I first installed Windows NT 3.51, back around 1996, the 16-bit subsystem was optional, like the OS/2 subsystem, and I had it turned off. Everything worked fine. In NT 4, they let the kode kiddies from the Windows 95 group put legacy code into NT, some of which still ran in 16-bit mode, and the 16-bit subsystem was always on.
Switching to a new version of Linux is not nearly as big of an undertaking.
Sure it's not.
http://linux.slashdot.org/linux/06/10/28/239258.shtml
http://www.theregister.co.uk/2009/11/03/karmic_koala_frustration/
This space for rent.
...to run OS/2 Warp4. Yeppers.
YankDownUnder Veni, Vidi, volo in domum redire
I don't know about you, but I don't want all those unemployed former MS-programmers to get down to Linux.
It's alright. There's no possible way that will happen as Visual Studio still doesn't run in Linux, even under Wine. They'd all be too confused by the lack of magic code generating wizards, play buttons and twiddly knobs.
Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
I've tested the exploit in virtual machine in Windows 7 x32 and Windows XP SP3 and it doesn't work. These are default installs of OS with no config changes. When run in Windows 7 x32 as Administrator it did cause BSOD. Running as standard user it did nothing, the process supposed to have escalated priviliges did not. anybody else found it working?
Exactly. My POS '99 Ford Explorer has a cruise control recall due that apparently causes the car to explode in flames (their words). My point here is that I am sure Ford knew about the problem years in advance and finally broke out their profit/loss calculator after the law suits started piling up and decided it was time to fix it. Design flaws are here to stay, is this a surprise? A for profit company has different legal liabilities (both to the public and their shareholders) than an open source community has.
Are those 3D printers good enough that I can print off an Ubuntu 4-door hybrid yet?
I am a v1ral sig. Plse c0py me and h3lp me spread. Thank y0u?
Not really some architectures like arm doesn't have this bug (because page 0 is used for something else). ... dosemulator on x86 via vm86 [1].
Also one of the most use of mapping page0 is for running
So they seems related.
So, Microsoft could at least have fixed this in Windows 7 (according to Wikipedia: "released to manufacturing on July 22, 2009").
No, they could not have.
Yeah, the quality of Microsoft's products is clearly due to programmer incompetence, it certainly has nothing to do with management or mis-prioritization. As we all know, management at Microsoft is composed of angels and benevolent demi-gods. If only those developers with hearts of pure evil would stop messing everything up...
and sitting in front of it. Windows is therefore vulernable to every user of Windows. So what makes you trust that everybody whos using Windows can be trusted not to exploit it? Why do they need to lock down desktops in corporate environments if everybody who uses Windows is trustworthy?
The Internet's nature is peer to peer - 20050301_cs_profs.pdf
. 'Using code written for the VDM, an unprivileged user can inject code of his choosing directly into the system's kernel,
As if 99% of all Windows users aren't already running as root.
A lot of people confuse the two!
Even people who should know better... I kinda hope it's only the name that sticks, and they don't think they're actually running DOS programs.
Btw, while x64 Windows drops DOS support (no wonder since Long Mode doesn't support v86 tasks), it still has the ability to execute 16bit BIOS routines. That's right, MS included a (very limited, and with pretty stringent memory location write protection) 16bit x86 emulator :)
Coffee-driven development.
Summary of workaround for WinXP:
start->run->gpedit.msc
Navigate to:
Local Computer Policy -> Computer Configuration -> Administrative Templates -> Windows Components -> Application Compatibility -> Prevent access to 16-bit applications
Select "enable".
The real question is, how do I secure my PC? And don't give me those Policy Groups buzzwords -- how many PC owners know what they mean? Criminy, tell us which files to rename, which registry keys to change, or which services to turn off -- give us something simple and effective.
WOW is still in XP. (NT 5.1) Not sure about Vista and 7. (NT 6 and 6.1)
Get them to try CMD.EXE and COMMAND.COM and see if they spot the difference. The 'DOS prompt' is still there, at least in XP, and just as horrible.
given enough eyeballs, all bugs are shallow
-Eric S. Raymond, The Cathedral and the Bazaar
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.