Hi, Please see the local root exploit posted to Bugtraq, http://www.securityfocus.com/archive/1/136475 Issue is usermode passing untrusted user environment down to the programs it launches. Of course, it would be nice if glibc were more paranoid about ".." in locale paths.
We're going to have to add a whitelist and use execle() to run the right program, but we need to preserve a sane LANG rather than let the default "C" be used. Might have to make a specific exception for LANG, though.
Actually, glibc takes care about slashes, not .. in locale paths. Anyway, I don't think glibc should restrict LANG/LC_ALL for non-setuid root, maybe it should remove LC_*/LANG from environment for setuid programs if it contains /, I'll talk with Ulrich. Anyway, IMHO all suid/sgid apps which exec something should be careful by themselves. In ftp://ultra.linux.cz/private/usermode/ are updated usermode RPMs, Nalin, could you please retest the bugtraq exploit with it and issue erratas ASAP (like today) for all distributions shipping usermode? This is really serious. And we should check all suid/sgid apps which ever exec for this kind of thing as well.
Still not sure what to do about other distributions, but usermode with a couple of minor bug fixes is now in the pipeline.
Errata is released - fancy marking the bug RESOLVED + ERRATA?