From 3aa33913384d5dd99ac274f96e49115b56ba36ac Mon Sep 17 00:00:00 2001 From: Hannes Reinecke Date: Wed, 19 Aug 2009 12:36:26 +0200 Subject: [PATCH] Do not use temp file in iscsi_discovery The iscsi_discovery shell script, typically run as root, contains the following code: df=/tmp/discovered.$$ dbg "starting discovery to $ip" iscsiadm -m discovery --type sendtargets --portal ${ip}:${port} > ${df} This is a standard security vulnerability and should be replaced by use of mktemp or shell variables. References: bnc#528711 Signed-off-by: Hannes Reinecke --- utils/iscsi_discovery | 10 ++++------ 1 files changed, 4 insertions(+), 6 deletions(-) diff --git a/utils/iscsi_discovery b/utils/iscsi_discovery index 3c6edf3..4fb3a66 100755 --- a/utils/iscsi_discovery +++ b/utils/iscsi_discovery @@ -104,24 +104,22 @@ discover() connected=0 discovered=0 - df=/tmp/discovered.$$ dbg "starting discovery to $ip" - iscsiadm -m discovery --type sendtargets --portal ${ip}:${port} > ${df} - while read portal target + disc="$(iscsiadm -m discovery --type sendtargets --portal ${ip}:${port})" + echo "${disc}" | while read portal target do portal=${portal%,*} select_transport - done < ${df} + done - discovered=$(cat ${df} | wc -l) + discovered=$(echo "${disc}" | wc -l) if [ ${discovered} = 0 ]; then echo "failed to discover targets at ${ip}" exit 2 else echo "discovered ${discovered} targets at ${ip}" fi - /bin/rm -f ${df} } try_login() -- 1.6.0.2