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.