[BUG] NTFS code doesn't sanitize folder names sufficiently

From: Marian Beermann
Date: Thu Jul 26 2012 - 14:18:04 EST


Hello everyone,

today I noticed some very odd behaviour, which could lead people to believe a loss of data, because it is possible to create directories with backslashes in them.

I am currently running kernel 3.5.

To completly reproduce the problem to the full extend you'll need a Windows computer, but to see whats wrong Linux completly suffices :-)

On a Linux computer
1. Create a directory named TestA on an NTFS partition
2. Create a subdirectory of TestA named TestB
3. Create a third directory alongside TestA named TestA\TestB (the fundamental problem is this: backslashes in directory names)

Connect the drive containing the NTFS partition now to a Windows computer and navigate to the directory containing TestA and TestA\TestB. If you navigate to the folder (not path!) TestA\TestB you'll actually see the contents of the path TestA\TestB (the subfolder TestB) and not the contents of the directory.
It is not possible on a Windows machine to access the contents of the directory named TestA\TestB. This is not a bug in Windows, it's caused by a bug in the NTFS driver, which allows illegal characters.

The solution to this would be to disallow creation of files and folders on NTFS drives containing illegal characters.

Best regards
Marian Beermann

(notice: I'm not subscribed to linux-fsdevel...)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/