diff options
author | Joey Hess <joeyh@joeyh.name> | 2015-12-15 20:20:37 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2015-12-15 20:21:48 -0400 |
commit | 653f36dbcca2596af06ef226b7623f9190b4b483 (patch) | |
tree | 43f585381aff45a74e46ba445709ae215d18d39e /debian | |
parent | a411c6635f143d4e0fc116d702ce25ce4907d8a5 (diff) |
improve temp dir security
http://bugs.debian.org/807341
* Fix insecure temporary permissions when git-annex repair is used in
in a corrupted git repository.
Other calls to withTmpDir didn't leak any potentially private data,
but repair clones the git repository to a temp directory which is made
using the user's umask. Thus, it might expose a git repo that is
otherwise locked down.
* Fix potential denial of service attack when creating temp dirs.
Since withTmpDir used easily predictable temporary directory names,
an attacker could create foo.0, foo.1, etc and as long as it managed to
keep ahead of it, could prevent it from ever returning.
I'd rate this as a low utility DOS attack. Most attackers in a position
to do this could just fill up the disk /tmp is on to prevent anything
from writing temp files. And few parts of git-annex use withTmpDir
anyway, so DOS potential is quite low.
Examined all callers of withTmpDir and satisfied myself that
switching to mkdtmp and so getting a mode 700 temp dir wouldn't break any
of them.
Note that withTmpDirIn continues to not force temp dir to 700.
But it's only used for temp directories inside .git/annex/wherever/
so that is not a problem.
Also re-audited all other uses of temp files and dirs in git-annex.
Diffstat (limited to 'debian')
-rw-r--r-- | debian/changelog | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index a2c59f005..7fc9a1cff 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,9 @@ git-annex (5.20151209) UNRELEASED; urgency=medium The empty file it was sending tickled bugs in some php WebDAV server. * fsck: Failed to honor annex.diskreserve when checking a remote. * Debian: Build depend on concurrent-output. + * Fix insecure temporary permissions when git-annex repair is used in + in a corrupted git repository. + * Fix potential denial of service attack when creating temp dirs. -- Joey Hess <id@joeyh.name> Thu, 10 Dec 2015 11:39:34 -0400 |