How secure are temp files created via tempfile.TemporaryFile()?

Steven D'Aprano steve at REMOVE-THIS-cybersource.com.au
Fri Feb 19 00:52:03 EST 2010


On Thu, 18 Feb 2010 21:34:58 -0800, Dennis Lee Bieber wrote:

> On Thu, 18 Feb 2010 15:09:28 -0500, python at bdurham.com declaimed the
> following in gmane.comp.python.general:
> 
>> 2. As soon as my process terminates (voluntarily or involuntarily), the
>> temp file gets deleted.
>> 
> 	Which only means the directory entry for it is lost... depending 
on
> the OS, someone creating a new file in "w+" and performing a long seek
> just to write one byte, may now have all those disk sectors your temp
> file had been in -- and can read them at leisure.
> 
> 	Or some file recovery tools might make a file out of the 
sectors...
> 
> 	If you are really worried about the contents becoming visible 
after
> "deletion" you should probably run a wipe operation on the file (write
> random sequence over data; read/verify said random sequence; write new
> random sequence over file; read/verify this sequence; write 1s
> complement of sequence; read/verify that final sequence).


If that is your concern, then you shouldn't be using tempfile, you should 
be using permanent files and wiping them yourself.

I think the OP is more concerned about the sort of security flaw where 
you open a temporary file, and some hostile process hijacks it before 
you're done with it. But once you're done with the file, you probably no 
longer care about the contents.


-- 
Steven



More information about the Python-list mailing list