This is the mail archive of the cluster-cvs@sourceware.org mailing list for the cluster.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

STABLE2 - rgmanager: randomize ASEHAagent temp files


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=f186ae843357846ae742f578f7965ea94b67a410
Commit:        f186ae843357846ae742f578f7965ea94b67a410
Parent:        0b5f7b6f80a8d00943374a98227b137f381498d1
Author:        Fabio M. Di Nitto <fdinitto@redhat.com>
AuthorDate:    Wed Oct 22 09:40:08 2008 +0200
Committer:     Fabio M. Di Nitto <fdinitto@redhat.com>
CommitterDate: Thu Oct 30 10:19:44 2008 +0100

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 100644
--- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]