http://qs1969.pair.com?node_id=131136


in reply to Re: Re: Two-arg open() considered dangerous
in thread Two-arg open() considered dangerous

I think anyone starting a filename with whitespace deserves to suffer. (Actually, I dislike any whitespace at all in a filename, but at least bash will tab-complete those cases. :)
  • Comment on Re: Re: Re: Two-arg open() considered dangerous

Replies are listed 'Best First'.
Re: Re: Re: Re: Two-arg open() considered dangerous
by merlyn (Sage) on Dec 12, 2001 at 05:52 UTC
    I think anyone starting a filename with whitespace deserves to suffer.
    It's not a matter of suffering or not. It's a matter of being able to bypass security.

    Suppose a setuid script will only write to a file I own, and I want to attack "fred". I create "(space)fred", it checks with "-O" and notes that I own it, and then proceeds to strip the whitespace on the open. And boom, I've written into a file I don't own.

    Do not simply "ignore" special characters, saying "the user will have to suffer". As a bad guy, I could exploit your ignorance (heh), and get in. Bad design, worse results.

    -- Randal L. Schwartz, Perl hacker

Re: Re: Re: Re: Two-arg open() considered dangerous
by blakem (Monsignor) on Dec 12, 2001 at 05:40 UTC
    Bash will tab complete a file beginning with a space as well, but you need to use a quote mark before the space to distinguish it from a normal space...
    % touch " tmpfile" % rm " [TAB-autocomplete]

    -Blake