Red Hat Bugzilla – Bug 592
standard startx script allows any user to capture X events (and keystroke) from other users' windows
Last modified: 2008-05-01 11:37:48 EDT
Let's suppose I write a transparent X program (or go to
rootshell and get it, it is already there) and that I run it
on a workstation occupied by another user: the program sees
everything he does under X and logs every keystroke on a
file in my home dir.
Things like ssh are pretty useless in this situation... the
solution is to prevent other users from starting X apps on a
server they didn't start and this can be done in two ways:
1) by using xdm, that by default has authentication enabled
2) by modifying startx this way:
--- startx Thu Nov 26 11:05:11 1998
+++ /usr/X11R6/bin/startx Thu Nov 26 10:55:37 1998
@@ -44,7 +44,7 @@
while [ "x$1" != "x" ]; do
case "$1" in
@@ -58,10 +58,18 @@
+ case "$1" in
+ :[0-9]) display="$1" ;;
+serverargs="$serverargs -auth $HOME/.Xauthority"
+xauth add $display . $mcookie
+xauth add `hostname -f`$display . $mcookie
xinit $clientargs -- $serverargs
This problem was also present in RH5.0 and 5.1
You might also consider using the mkxauth package
A patch to use xauth in startx will be posted to the errata site.
However, 5.2 will not incorporate this patch into XFree in an security
update, because many people are not familiar with xauth but only xhost
(no matter how wrong this is) and there will be much complaining from
them if we change this. 6.0 will make the change.