This isn't really a security vulnability, but it can lead to suicides (probably):
QuoteHi to all readers,
this day I found a annoying misbehavior in Windows XP professional
with SP2.
I had a directory with some Java sources (*.java) and some backup
files (*.jav). Because I din't longer need the backup files I would
delete them with 'del *.jav'. But this command also delete all the
source files. #ยง%*. The last backup was 4 hours ago. :-/
So I tried what happen and the result is the command above checks
only the first three chars from the extension (DOS is alive).
Here is how you can reproduce it:
mkdir testbug
cd testbug
rem.>file1.jav
rem.>file2.java
rem.>file3.javas
del *.jav
All three files are deleted. Is this a known bug or a unknown feature?
Frank
-- 21 is only half the truth
_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/
In FAT32 I'd understand but for 8.3 filenames to be an issue with NTFS? Wtf?
I'd think this would only be a FAT* issue due to the LFN addition (or VFAT)
Here's how to disable the behaviour on newly created files:
QuoteThe default setting on Windows is to create an 8.3 short file name for every file that cannot fit in the 8.3 format. The example you posted is expected behavior on a default Windows installation.
Fire up the Registry Editor and drill down to: HKLM\SYSTEM\CurrentControlSet\Control\FileSystem
To disable creation of 8.3 short file names on local NTFS file systems, create or update the following DWORD registry keys:
NtfsDisable8dot3NameCreation // NTFS only
Win95TruncatedExtensions // del *.xxx phenomenon
I don't think it's possible to disable 8.3 creation on FAT file systems. Other interesting keys:
Win31FileSystem // FAT compatibility
NtfsDisableLastAccessUpdate // OT, but personal favorite
Changes take place after reboot.
Must be to keep compatibility with FAT*, oh well. Thier stupid decision.