]> granicus.if.org Git - python/commit
The TemporaryFile() function has a security leak -- because the
authorGuido van Rossum <guido@python.org>
Sat, 24 Oct 1998 01:34:45 +0000 (01:34 +0000)
committerGuido van Rossum <guido@python.org>
Sat, 24 Oct 1998 01:34:45 +0000 (01:34 +0000)
commitdce3d5502e5498615362cd4edd9c81bc0de3036a
tree3cbf99572d3ffc3e781e22ecc60a509074b77cd0
parent39926e4bbad759fb6bad3945ebc1fe45cf5d7515
The TemporaryFile() function has a security leak -- because the
filenames generated are easily predictable, it is possible to trick an
unsuspecting program into overwriting another file by creating a
symbolic link with the predicted name.  Fix this by using the
low-level os.open() function with the O_EXCL flag and mode 0700.  On
non-Unix platforms, presumably there are no symbolic links so the
problem doesn't exist.  The explicit test for Unix (posix, actually)
makes it possible to change the non-Unix logic to work without a
try-except clause.

The mktemp() file is as unsafe as ever.
Lib/tempfile.py