When parsing arguments, the server checks that only root can pass the option -modulepath, which determines the location to load many modules providing server functionality from, and -logfile, which determines the location of the logfile. Normally, these locations cannot be changed by unprivileged users.

This test was changed to test the effective UID as well as the real UID in X.Org. The test is defective in that it tested the address of the geteuid function, not the result of the function itself. As a result, given that the address of geteuid() is always non-zero, an unprivileged user can load modules from any location on the filesystem with root privileges, or overwrite critical system files with the server log.