Date: Thu, 18 Apr 2002 13:03:54 -0700 (PDT) From: Thomas Cannon <tcannon@noops.org> To: <freebsd-questions@FreeBSD.ORG> Cc: <security-officer@freebsd.org> Subject: I think this could be better Message-ID: <20020418121731.O4793-100000@stereophonic.noops.org>
next in thread | raw e-mail | index | archive | help
I just did a "make world" and noticed this go zipping by: mkdir -p /tmp/install.33931 for prog in [ awk cat chflags chmod chown date echo egrep find grep ln make makewhatis mtree mv perl rm sed sh sysctl test true uname wc zic; do cp `which $prog` /tmp/install.33931; done I killed it and took a look around and saw that yes, indeed, we're running (via make) a shell script (as root) that makes temporary files in a world-writable directory, without checking to see if it exists first, with a predictable name. Then it indiscriminately deletes all of it. From the included Makefile.inc1: installworld: mkdir -p ${INSTALLTMP} for prog in [ awk cat chflags chmod chown date echo egrep find grep \ ln make makewhatis mtree mv perl rm sed sh sysctl \ test true uname wc zic; do \ cp `which $$prog` ${INSTALLTMP}; \ done cd ${.CURDIR}; ${IMAKE} reinstall rm -rf ${INSTALLTMP} Of course, it does say pretty clearly in the documentation that doing this in multi-user space is a bad idea: "You may want to compile the system in single user mode. Apart from the obvious benefit of making things go slightly faster, reinstalling the system will touch a lot of important system files, all the standard system binaries, libraries, include files and so on. Changing these on a running system (particularly if you have active users on the system at the time) is asking for trouble." But all that means is that as an attacker I just need to make the files/symlinks in advance and wait, which is what they'd have to do anyway. I could very easily be missing something. It frequently happens. I feel like I must be, as I'd expect developers to be more prudent and use a non-public temporary space just out of reflex. Is there some safety check that I'm not seeing? Thanks in advance, -tcannon -- Thomas Cannon, CISSP, FNCNE, CCDP, CCNP, SCSA, SCNA, CCDA, CCNA Unified Computing (415) 533-5294 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020418121731.O4793-100000>