Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


On Wed, 2011-07-13 at 18:48 +0200, Francois Tigeot wrote:
On Wed, Jul 13, 2011 at 09:16:33AM -0600, Tor Lillqvist wrote: > Do we
 really want to have those access() checks there? > > I am not evil
 enough to think of a way to abuse that code (insert maniacal
 laughter), but in general, isn't that exactly the kind of coding that
 could be a security vulnerability? (TOCTTOU seems to be the technical
 term, http://en.wikipedia.org/wiki/Time-of-check-to-time-of-use )

These were added by Caolán; I've no strong feeling about them.

Caolán, is there a special reason you added the access() checks ?

Yes, so that you don't end up using a tmp dir you're not able to write
to and probably fall over and die.

Re TOCTTOU, if someone has the power to replace your $TMPDIR then I
think you're doomed anyway.

But sure, 
a) looking around at various apps and libs and what they do, a
sufficient number of them just getenv for $TMPDIR and if not set then
use /tmp with no precheck that $TMPDIR is writable that there's no real
point us attempting any check either given that we're at the top of a
stack of things that will fail with an unwriteable $TMPDIR.
b) it's probably indeed better to generally bail our early with epic
failure if the TMPDIR isn't writable rather than let it run and use a
shared /tmp in the face of an explicit attempt-gone-wrong to avoid using
a shared /tmp

yeah, drop the access and let the callers handle later failure if it
happens, happen anyway on a full partition.

C.


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.