Bug #6213: Check geteuid's return value, not its address, otherwise
unprivileged users can set the modulepath and run arbitrary code. Patch from Matthieu Herrb. (CVE-2006-0745, Coverity #4)
This commit is contained in:
parent
8c1bb37d06
commit
6eb4e2303a
|
@ -1,3 +1,10 @@
|
|||
2006-03-20 Adam Jackson <ajax@freedesktop.org>
|
||||
|
||||
* hw/xfree86/common/xf86Init.c:
|
||||
Bug #6213: Check geteuid's return value, not its address, otherwise
|
||||
unprivileged users can set the modulepath and run arbitrary code.
|
||||
Patch from Matthieu Herrb. (CVE-2006-0745, Coverity #4)
|
||||
|
||||
2006-03-16 Kristian Høgsberg <krh@redhat.com>
|
||||
|
||||
* configure.ac: Check for glproto when building GLX and make sure
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Init.c,v 3.212 2004/01/27 01:31:45 dawes Exp $ */
|
||||
/* $XdotOrg: xserver/xorg/hw/xfree86/common/xf86Init.c,v 1.30 2006/02/13 04:43:40 benh Exp $ */
|
||||
/* $XdotOrg: xserver/xorg/hw/xfree86/common/xf86Init.c,v 1.31 2006/03/07 23:58:22 idr Exp $ */
|
||||
|
||||
/*
|
||||
* Loosely based on code bearing the following copyright:
|
||||
|
@ -1377,7 +1377,7 @@ ddxProcessArgument(int argc, char **argv, int i)
|
|||
}
|
||||
|
||||
/* First the options that are only allowed for root */
|
||||
if (getuid() == 0 || geteuid != 0)
|
||||
if (getuid() == 0 || geteuid() != 0)
|
||||
{
|
||||
if (!strcmp(argv[i], "-modulepath"))
|
||||
{
|
||||
|
@ -1677,7 +1677,7 @@ ddxProcessArgument(int argc, char **argv, int i)
|
|||
}
|
||||
if (!strcmp(argv[i], "-configure"))
|
||||
{
|
||||
if (getuid() != 0 && geteuid == 0) {
|
||||
if (getuid() != 0 && geteuid() == 0) {
|
||||
ErrorF("The '-configure' option can only be used by root.\n");
|
||||
exit(1);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue