GDM can be crashed by a local user, preventing it from managing future displays.
|Package||gnome-base/gdm on all architectures|
|Affected versions||< 2.18.4|
|Unaffected versions||>= 2.18.4, revision >= 2.16.7|
GDM is the GNOME display manager.
The result of a g_strsplit() call is incorrectly parsed in the files daemon/gdm.c, daemon/gdmconfig.c, gui/gdmconfig.c and gui/gdmflexiserver.c, allowing for a null pointer dereference.
A local user could send a crafted message to /tmp/.gdm_socket that would trigger the null pointer dereference and crash GDM, thus preventing it from managing future displays.
Restrict the write permissions on /tmp/.gdm_socket to trusted users only after each GDM restart.
All GDM users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose "gnome-base/gdm"
September 18, 2007
September 18, 2007: 01