This is the mail archive of the
cluster-cvs@sourceware.org
mailing list for the cluster.
cluster: RHEL5 - rgmanager: randomize ASEHAagent temp files
- From: Lon Hohberger <lon at fedoraproject dot org>
- To: cluster-cvs-relay at redhat dot com
- Date: Thu, 21 May 2009 14:28:33 +0000 (UTC)
- Subject: cluster: RHEL5 - rgmanager: randomize ASEHAagent temp files
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=f47209ebbb923051c4f947f7e933f9e7bf48ff56
Commit: f47209ebbb923051c4f947f7e933f9e7bf48ff56
Parent: 2e52f12faf68f6d6f56f9e41b9d4c4cfe040b080
Author: Fabio M. Di Nitto <fdinitto@redhat.com>
AuthorDate: Wed Oct 22 09:40:08 2008 +0200
Committer: Lon Hohberger <lhh@redhat.com>
CommitterDate: Thu May 21 10:27:58 2009 -0400
rgmanager: randomize ASEHAagent temp files
by using a static path to /tmp, the operation can be used to trigger
a local DoS by a normal user.
Mitigate the issue by randomizing the temp files with pid.
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
---
rgmanager/src/resources/ASEHAagent.sh | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/rgmanager/src/resources/ASEHAagent.sh b/rgmanager/src/resources/ASEHAagent.sh
index 4f709e9..35f3fa1 100755
--- a/rgmanager/src/resources/ASEHAagent.sh
+++ b/rgmanager/src/resources/ASEHAagent.sh
@@ -781,8 +781,8 @@ deep_probe()
ocf_log debug "ASEHAagent: Start 'deep_probe'."
# Declare two temporary files which will be used in this probe.
- tmpfile1="/tmp/ASEHAagent.1"
- tmpfile2="/tmp/ASEHAagent.2"
+ tmpfile1="/tmp/ASEHAagent.1.$$"
+ tmpfile2="/tmp/ASEHAagent.2.$$"
# Get the login_string by analyzing the login_file.
get_login_string
@@ -794,6 +794,7 @@ deep_probe()
fi
rm -f $tmpfile1
+ rm -f $tmpfile2
# The login file is correct. We have gotten the login account and password from it.
# Run isql command in background.
@@ -842,11 +843,17 @@ EOF
# Read the process id of isql process from tmpfile2
pid=`cat $tmpfile2 | awk '{print $1}'`
+ rm -f $tmpfile1
+ rm -f $tmpfile2
+
# Kill the isql process directly.
kill -9 $pid
return 1
fi
+ rm -f $tmpfile1
+ rm -f $tmpfile2
+
ocf_log debug "ASEHAagent: End 'deep_probe'."
return 0