Bugtraq mailing list archives
Acrobat reader 4.05 temporary files
From: Jarno Huuskonen <Jarno.Huuskonen+bugtraq () uku fi>
Date: Thu, 20 Jun 2002 10:25:16 +0300
------------------------------------------------------------
Insecure temporary files in Acrobat Reader 4.05
Jarno.Huuskonen () iki fi
$Date: 2002/06/20 07:21:29 $
------------------------------------------------------------
Author:
Jarno Huuskonen <Jarno.Huuskonen () iki fi>
Discovered:
Wed 18 Jul 2001
Vendor status:
Adobe (security () adobe com) contacted on Thu 19 Jul 2001. Adobe said
that they'll look into this. Acrobat Reader 5.05 appears to correct the
problem.
Platforms:
Acrobat Reader 4.05 (linux-ar-405.tar.gz). I tested this only on Linux,
but I believe that all 'Unix' versions are affected.
Severity:
Low: possible local file overwrite (symlink attack). (For more
information about race conditions see[1][2][3]).
Abstract:
Acrobat Reader (acroread) creates temporary files in /tmp (or in
directory pointed by TMP environment variable) insecurely when opening
or printing a pdf document.
Details:
Out of curiosity I straced acroread to see if it uses temporary files.
From the strace output I noticed that acroread does open temporary
files in /tmp (or in $TMP if you have it set) without using O_EXCL, so
acroread will follow symbolic links when creating the temporary
file. Here is an example from an strace output that shows the problem:
stat("/tmp/Acro48IBR1", 0xbfffe958) = -1 ENOENT (No such file or
directory)
open("/tmp/Acro48IBR1", O_RDWR|O_CREAT|O_TRUNC, 0666) = 5
...
...
unlink("/tmp/Acro48IBR1") = 0
These temporary files are created at least when opening a document and
printing a document (Print To: Printer Command). (I assume the acrobat
reader netscape plugin has the same problem. I didn't check this
though).
Workaround:
Set TMP environment variable to a secure directory (e.g. ~/tmp) before
using acrobat reader (and possibly before launching netscape if you use
the acrobat plugin). One possible way to achieve this would be to
replace the acroread shell script with a script that sets TMP and then
execs the original acroread (or directly modify the acroread script if
the license permits this).
Solution:
Acrobat Reader 5.05 appears to correct this problem. Download the
updated version from http://www.adobe.com.
References:
1.
David A. Wheeler: Secure Programming for Linux and Unix HOWTO.
http://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO/avoid-race.html
2.
Kris Kennaway's post to Bugtraq about temporary files.
http://lwn.net/2000/1221/a/sec-tmp.php3
3.
Creating Secure Software:
http://www.eforceglobal.com/pdf/whitepapers/SecureSoftware-01-10-01-FINAL.pdf
--
Jarno Huuskonen <Jarno.Huuskonen atsign iki.fi>
Current thread:
- Acrobat reader 4.05 temporary files Jarno Huuskonen (Jun 20)
