diff options
author | Matthieu Herrb <matthieu.herrb@laas.fr> | 2011-10-17 22:26:12 +0200 |
---|---|---|
committer | Jeremy Huddleston <jeremyhu@apple.com> | 2011-10-18 09:25:07 -0700 |
commit | f80d23357874db19bc124dee70239fb182977883 (patch) | |
tree | 6d1fe8a69bea44e0c59aa1f259dda6b4495e4895 | |
parent | 374be44d13bc8f04a2413b6d5b2006e73d5a8f53 (diff) |
Fix CVE-2011-4028: File disclosure vulnerability.
use O_NOFOLLOW to open the existing lock file, so symbolic links
aren't followed, thus avoid revealing if it point to an existing
file.
Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
(cherry picked from commit 6ba44b91e37622ef8c146d8f2ac92d708a18ed34)
-rw-r--r-- | os/utils.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/os/utils.c b/os/utils.c index 36cb46f11..9e0acb616 100644 --- a/os/utils.c +++ b/os/utils.c @@ -316,7 +316,7 @@ LockServer(void) /* * Read the pid from the existing file */ - lfd = open(LockFile, O_RDONLY); + lfd = open(LockFile, O_RDONLY|O_NOFOLLOW); if (lfd < 0) { unlink(tmp); FatalError("Can't read lock file %s\n", LockFile); |