In a Throwback To the '90s, NTFS Bug Lets Anyone Hang Or Crash Windows 7, 8.1 (arstechnica.com) 128
Windows 7 and 8.1 (and also Windows Vista) have a bug that is reminiscent of Windows 98 age, when a certain specially crafted filename could make the operating system crash (think of file:///c:/con/con). From an ArsTechnica report: The new bug, which fortunately doesn't appear to afflict Windows 10, uses another special filename. This time around, the special filename of choice is $MFT. $MFT is the name given to one of the special metadata files that are used by Windows' NTFS filesystem. The file exists in the root directory of each NTFS volume, but the NTFS driver handles it in special ways, and it's hidden from view and inaccessible to most software. Attempts to open the file are normally blocked, but in a move reminiscent of the Windows 9x flaw, if the filename is used as if it were a directory name -- for example, trying to open the file c:\$MFT\123 -- then the NTFS driver takes out a lock on the file and never releases it. Every subsequent operation sits around waiting for the lock to be released. Forever. This blocks any and all other attempts to access the file system, and so every program will start to hang, rendering the machine unusable until it is rebooted.
Nonsense! (Score:5, Funny)
I just opened c:\$MFT\123 on my system and nothing bad happ
Re: (Score:2)
Re: (Score:3, Informative)
Whoosh!
Re: (Score:2)
Ah! (Score:5, Funny)
As I use Windows 10 I doBUY XBOX ONE! ON SALE TODAY ONLY!n't have such problems.
Re: (Score:2)
I'm also safe. I don't have Windows 7 or 8.1. I have the original Windows 8, which isn't listed as vulnerable. Yeah for Windows 8!
Re: (Score:1)
Did you upgrade from Windows ME to Windows 8?
Fun! (Score:2)
Re: (Score:2)
If you are able to compile programs with Visual C++, there are a lot of bugs that you can BSoD a terminal server with that will never get fixed.
Re: (Score:2)
Re: (Score:2)
I tried it on some of my 2021R2s with no effects.
I see you're on the super duper doubly secret early release program.
In the Windows XP era... (Score:2)
Re: (Score:2)
That must have been patched in the time since you last used XP.
The last time I used WinXP was in 2012.
I've got XP machines which run (patched) much longer, no problems.
IIRC, The crash bug was pre-SP1.
Re: (Score:1)
I've got XP machines which run (patched) much longer, no problems.
IIRC, The crash bug was pre-SP1.
IIRC, that was actually a Windows NT4 problem, patched in the late 90s.
Re: (Score:2)
IIRC, that was actually a Windows NT4 problem, patched in the late 90s.
Everyone else says the crash bug was in Windows 95, which is Windows bolted on top of DOS. WinXP was based on NT. IIRC, NT4 wasn't stable until 4.5 came out.
Re: (Score:1)
Re: (Score:1)
Re: (Score:1)
Re: (Score:1)
My favorite WinXP crash bug was the crash that happen every 45 days of continuous uptime.
How did you ever manage to keep the machine up for that long?
Re: (Score:2)
How did you ever manage to keep the machine up for that long?
By not turning them off. ;)
" Isn't higher patch count BETTER ? " (Score:2)
Yes!
The more bugs in the original release, the merrier!
Really?
Re: (Score:2)
Hibernate,
Put on a shelf for 45 days
Dehibernate.
Even win10 includes hibernation time in its uptime.
Re: (Score:1)
Re: (Score:2)
I got up to 30 days be being very careful. Then I accidentally opened up Notepad and down it went.
Re: (Score:3)
It wasn't Windows XP, but rather Windows 95 that would crash after 49.7 days of continuous usage.
Re: (Score:2)
You completely screwed up that joke.
I wasn't joking. I had a scheduled task that would reboot my PCs every 45 days because of this crash bug. At my current job today we reboot workstations after 30+ days of uptime just to make sure that they patch properly each month.
It wasn't Windows XP, but rather Windows 95 that would crash after 49.7 days of continuous usage.
I stand corrected.
Re: (Score:2, Insightful)
Good on you, but you do know that that is just the first step in the 5 Whys [wikipedia.org] of mea culpa?
The 32-bit uptime bug in Windows 95 was the poster child of a toy operating system.
NTFS (and the giant NT/2000/XP fork in the road) was the poster child for Microsoft escaping their toy reputation.
The entire joke here is that the more things change, the more they remain the same.
Now this new $MFT fiasco is just a stupid edge case in something that actually works well enough, most of the time.
The joke u
Re: In the Windows XP era... (Score:1)
Re: (Score:1)
I wasn't joking. I had a scheduled task that would reboot my PCs every 45 days because of this crash bug. At my current job today we reboot workstations after 30+ days of uptime just to make sure that they patch properly each month.
It wasn't Windows XP, but rather Windows 95 that would crash after 49.7 days of continuous usage.
I stand corrected.
Actually, he's wrong, the bug was in NT4 also. There was also a paging counter bug that was a mismatch of a 26 bit number into a 32 bit number that caused all sorts of issues when the 26 bit number rolled over. (might have been 24bit, it's long ago and google wasn't around to index everything back then....)
Re: (Score:2)
We used to reboot all of our NT4 Sp 6a servers when the idle counter reached 500 hours. Not long after that, they always started behaving weirdly..
Re: (Score:2)
Rebooting every few weeks was a very common workaround.
Comment removed (Score:4, Funny)
Re: (Score:2)
Funny i've seen the update counter beak on several occasions so it will actually say something like installing update 49 of 3.
I currently have a windows 10 machine that's been stuck at 91% installing the 1607 anniversary update since this time yesterday.
It's bound to finish eventually right?
Re: (Score:2)
And it was actually a bug in the hardware's timer chip, that happened to dovetail with Win95/98. Not all hardware had the bug, and those without did not experience the 49 day rollover. (My everyday W9* boxen apparently lacked the bug, as both would run for several months at a crack, and I never applied the patch.)
Re: In the Windows XP era... (Score:1)
Yep, GetTickCount overflows 32 bits after 47 days and kills Windows 9x, NT is 64 bit internally
Re: (Score:1)
Re: (Score:2)
Re: (Score:2)
jajahaha!! (Score:2)
True enterprise level bugs
Doesn't work for me (Score:2)
Re: (Score:3, Interesting)
Try browsing to file:///c:\$MFT\123 in IE and see what happens...
Re: (Score:3, Interesting)
Yup, this works. Just coming back after a hard reboot :o
Re: (Score:2)
Re: (Score:2)
Sure. Me too.
Then try do something else. Like open iexplore.exe and browse to a webpage.
Re: (Score:2)
Me: what about this box inside the vault?
More like the attendant tells you to wait, goes to get the key to this box inside the vault.
Accidentally realizes they left the keys required to open the door to the box room your desk, but the
key only works with the right fingerprint scan (Two-Factor), so the attendant is stuck inside the vault,
and nobody outside can open the door even with the keys: they'll just have to wait for a manager to come
by and reset the system.
Re: (Score:3)
Checking your inputs before working with them? that there is CRAZY talk!
Yup... (Score:3)
Saw the article and spun up a test VM with Win 7.
Exploit/bug/crash/vulnerability works as advertised. Scary. An easy way to bring down an entire operating system with a bat file and a little startup/service knowledge.
Re: (Score:3)
I tried it in the server contemporaries to 7 and 8.1. (2008R2 and 2012R2)
Nearly immediate BSOD in both cases.
Re: (Score:2)
Ah, yes. Good old "ctty nul." If you hated someone enough, you can always add this to their AUTOEXEC.BAT file.
ctty nul /u
echo y|format c:
Re: (Score:1)
Classic Unix had the .login file, which might contain "logout". How do you bypass that if you have no admin rights? I have no idea, I wonder if it's possible to recover in any way.
VMS allows you to add qualifiers to your username when logging in, so you can tweak your environment. In VMS this would do what you ask:
/NOCOMMAND
Username: SANDORZOO
Password: <PASSWORD>
I always thought that was a neat idea that other OSes should copy.
Seems to require Elevation (Score:4, Informative)
I tested this... who wouldn't .
It seems to be harmless when not logged in as an Administrator.
The second I run copy C:\$MFT\123 C:\Users\blah
as Administrator however, filesystem access freezes.
So yeah..... don't run programs as Admin that use random user-specified filenames and you should be fine?
Re: (Score:3)
It seems to be harmless when not logged in as an Administrator.
I tried it as a standard user on two Windows installs, one 64-bit Windows 7 Pro on real hardware, and the other Windows 7 Home 32-bit on a VM. Both gave me a BSOD immediately.
Re: (Score:2)
Re: (Score:2)
On Server 2012 R2 I found as a standard user - if I tried to save a file to c:\$mft - I got an access denied error, then the machine bsod'd.
So yeah you could "exploit" this from user space, but I guess the worse it will do is restart the machine/vm.
Magic Filenames in Unix? (Score:2)
Do any real unix filesystems have magic filenames? I know unlinked files will be dumped in lost+found by convention, but it's just a directory. HFS+ didn't grow up on unix, so all of its magic files don't really count (NeXT used UFS, right?)
All I can think of is mount/.zfs on ZFS, but it's built to handle traversal - any others? Any kernel code that relies on structures that can be impacted from userspace is a potential problem, so if there are some we should watch out for them and double-check that code.
Re: (Score:2)
/, when it isn't a path separator, and \0 would be my first two corner cases to check.
Re: (Score:2)
One could argue that Unix uses "magic" filenames everywhere - devices are mapped to filenames and most modern systems map almost everything internal as files. Windows NT doesn't map devices to files by default but a few are mapped into the Win32 subsystem to keep backwards compatibility, those things aren't files per se but emulated so that they can be treated as files - hence the "magic" nature of them.
The MFT file isn't "magic" BTW, this is a locking problem at worst or not a problem at all if one likes t
Re: (Score:3)
Unix doesn't use magic fileNAMES. It uses magic files. Naming them is quite arbitrary and there are very few surprises that can result from that. (naming a file "*" is rally asking for trouble...) Now for assumptions programs make about what file contains what, and OS behavior as it accesses these special files... c'mon, rename sda1 to null...
Re: (Score:2)
That's true. No real magic filenames in Unix - except perhaps magical simplicity? :P
Re: (Score:2)
Did you learn that after, or before encountering your first "*" file? :]
Re: (Score:2)
> Do any real unix filesystems ...
What is your criteria to evaluate a "pseudo" unix from a "real" unix??
> ... unix filesystems have magic filenames?
Uh, what do you think
are?
Reference:
What are reserved filenames for various platforms?" [stackoverflow.com]
Re: (Score:2)
Re: (Score:2)
What is your criteria to evaluate a "pseudo" unix from a "real" unix??
A real UNIX system is one whose publisher has taken a trademark license from The Open Group.
Re: Magic Filenames in Unix? (Score:2)
There are various magic file names (think things in /dev or /var) but reading/writing to them (if you are permitted) is by design how you interact with them.
To my knowledge there is no module that is permitted to hang up the kernel (BSOD) simply by reading it, at worst you get the serial port to poop out some bad characters.
Re: (Score:2)
NTFS = (Score:1)
No timeout, full stop.
Re: (Score:2)
Master File Table. Look at the VMS design, realize that Windows NT was primarily designed by ex-VMS people and be enlightened.
Re: (Score:1)
In VMS (or rather Files-11) it's called INDEXF.SYS. It is a visible, readable file (as system/root). I've never tried to delete it, to see what happens. Must do that one day, before all the systems I have access to are gone :(
The fact that if you advance one letter in the alphabet with 2001's "HAL" you get "IBM", and if you do the same with "VMS" you get "WNT" is supposedly a coincidence.
Re: (Score:2)
Yes but the two filesystems in question aren't the same (while clearly related). The INDEXF.SYS file is located in the MFD (Master File Directory), the NTFS MFT combine several types of metadata that is located in the MFD as separate files. The name is derived from the Files-11 design but changed as it no longer is a directory.
Anyone hang or crash windows? (Score:3)
Doesn't work for me (Score:3)
$ c:\$MFT\123
c:$MFT123: command not found
$
Re: Doesn't work for me (Score:2)
The Linux equivalent has to involve /dev. Maybe copying /dev/urandom someplace will fill a disk or something.
Re: (Score:2)
You need to run cmd.exe not bash.exe when opening your console.
Works on NT 3.51 too (Score:4, Interesting)
Just for funsies I loaded up my Windows NT 3.51 VM I have around for no good reason and tried it, and it immediately hard-locked. Must be a very old bug.
Re: (Score:2)
Just for funsies I loaded up my Windows NT 3.51 VM I have around for no good reason and it immediately hard-locked.
FTFY
Server 2008 and 2008 R2 (Score:1)
So for some reason no one mentioned that this bug also affects Server 2008 and 2008 R2. Even though most IT people would know that those are more or less identical OSs to Windows 7 and 8 respectively, it still should be listed.
Mmmm..... (Score:2)
This just gives me a warm fuzzy blast from the past. And present. An maybe future of my Windows install. But I don't really worry, I only use my Windows box for runny Adobe stuff.
Yep (Score:2)
Dropped to cmdline in Win7 and did dir $MFT, stuff that runs from cache still worked but anything requiring disk locked up hard. Had to reboot. Sad. Thanks Obama!
Re: (Score:2)