[New-bugs-announce] [issue13734] Add a generic directory walker method to avoid symlink attacks
report at bugs.python.org
Sun Jan 8 01:14:03 CET 2012
New submission from Hynek Schlawack <hs at ox.cx>:
This is an offspring of #4489 (which is a security bug). The method is AFAIU intended to be private.
As shown in the discussion of the mentioned #4489, there is a whole family of attacks that exploit the time window between gathering path names and executing a function on them. A general description of this problem can be found in: https://www.securecoding.cert.org/confluence/display/seccode/POS35-C.+Avoid+race+conditions+while+checking+for+the+existence+of+a+symbolic+link
While the consequences in rmtree() are probably most dramatic, other recursive functions could benefit too (chmodtree() and chowntree() were mentioned) so Charles-François suggested to write a "generic walker method that would take as argument the methods to call on a directory and on a file (or link)".
Some (probably) necessary helper functions has been already implemented in #4761 (*at()) and #10755 (fdlistdir()).
Has there already been done any work? Ross mentioned he wanted to take a stab?
components: Library (Lib)
nosy: hynek.schlawack, neologix, pitrou, rosslagerwall, tarek
title: Add a generic directory walker method to avoid symlink attacks
versions: Python 3.3
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce