[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Full-disclosure] Possibility to exploit bash "*" processing



On Wed, 21 Sep 2011 16:01:24 +0300, Dan Carpenter said:
> Seems like a good time to promote David Wheeler's filename proposal:
> http://www.dwheeler.com/essays/fixing-unix-linux-filenames.html

Unfortunately, David Wheeler's proposal has some implementation issues:

1. Forbid/escape ASCII control characters (bytes 1-31 and 127) in filenames,
including newline, escape, and tab.

3. Forbid/escape filenames that aren't a valid UTF-8 encoding.

The problem is that the UTF-8 codespace consists *mostly* of multibyte
characters, wherein at least one of the bytes, when considered by itself, is an
ASCII control character.  So if you restrict filenames to valid UTF-8, you
*still* lose if the filename is parsed by a non-UTF-8-aware program.  And if
you eliminate those valid UTF-8 names that include bytes that are ASCII control
characters, you just prevented *most* valid UTF-8 names.

On the other hand, it's a really nice summary of the issues and *does* have a
lot of good info - I hadn't seen that particular use of GLOBIGNORE, for
instance.

Bottom line - supporting filenames humans actually want to use (as opposed to a
fascist FAT 8+3 format) is *hard*. ;)

Attachment: pgpKowk0CHDUf.pgp
Description: PGP signature

_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/