From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27967 invoked by alias); 21 May 2009 14:29:33 -0000 Received: (qmail 27913 invoked by alias); 21 May 2009 14:29:32 -0000 X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS X-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS X-Spam-Check-By: sourceware.org X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bastion2.fedora.phx.redhat.com Subject: cluster: RHEL5 - rgmanager: randomize ASEHAagent temp files To: cluster-cvs-relay@redhat.com X-Project: Cluster Project X-Git-Module: cluster.git X-Git-Refname: refs/heads/RHEL5 X-Git-Reftype: branch X-Git-Oldrev: 2e52f12faf68f6d6f56f9e41b9d4c4cfe040b080 X-Git-Newrev: f47209ebbb923051c4f947f7e933f9e7bf48ff56 From: Lon Hohberger Message-Id: <20090521142833.66751120325@lists.fedorahosted.org> Date: Thu, 21 May 2009 14:29:00 -0000 X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 Mailing-List: contact cluster-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cluster-cvs-owner@sourceware.org X-SW-Source: 2009-q2/txt/msg00366.txt.bz2 Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=f47209ebbb923051c4f947f7e933f9e7bf48ff56 Commit: f47209ebbb923051c4f947f7e933f9e7bf48ff56 Parent: 2e52f12faf68f6d6f56f9e41b9d4c4cfe040b080 Author: Fabio M. Di Nitto AuthorDate: Wed Oct 22 09:40:08 2008 +0200 Committer: Lon Hohberger 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 --- 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