Re: is_absolute_path incorrect on Windows

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Bruce Momjian <bruce@momjian.us>
Cc: Magnus Hagander <magnus@hagander.net>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-02-03T18:32:31Z
Lists: pgsql-hackers
Bruce Momjian <bruce@momjian.us> writes:
> Tom Lane wrote:
>> Bruce Momjian <bruce@momjian.us> writes:
>>> I have reviewed is_absolute_path() and have implemented
>>> path_is_relative_and_below_cwd() to cleanly handle cases like 'E:abc' on
>>> Win32;  patch attached.
>> 
>> This patch appears to remove some security-critical restrictions.
>> Why did you delete the path_contains_parent_reference calls?

> They are now in path_is_relative_and_below_cwd(),

... and thus not invoked in the absolute-path case.  This is a security
hole.

>  I don't see a general reason to prevent
> ".." in absolute paths, only relative ones.

	load '/path/to/database/../../../path/to/anywhere'

			regards, tom lane