gpm-root does not properly drop group privileges. Local users can gain group privileges by starting a utility from gpm-root. The gpm package is usually included in Linux distributions, and can be started from the command line or in the startup script /etc/rc.d/rc.local.
gpm (General Purpose Mouse) is the program that lets you use the mouse in console mode when not using XWindows. It is usually included in Linux distributions, and can be started from the command line or in the startup script /etc/rc.d/rc.local. gpm-root is a program in the gpm package that allow the use of menus in console mode when Ctrl + Mousebutton is pressed. The gpm-root daemon in gpm version 1.19.1 and earlier lets the user execute any command with elevated group privileges. To exploit this problem, gpm-root must be running on a machine and the user needs both to login to that machine and to have physical access to the keyboard and mouse. When the user selects a utility from a menu, gpm-root starts the associated process with the group and supplementary groups of the gpm-root daemon. A call to setgid fails, providing the user the group privileges of the gpm-root program. The group for the gpm-root binary in the affected installations is root.
A user with console access can use this vulnerability to execute arbitrary commands with elevated group privileges.
Upgrade to gpm version 1.19.2 or later, or apply its setuid(), setgid() and initgruops() related patches.
Thanks to Egmont Koblinger for discovering this vulnerability.
This document was written by Andy Moore.
|Date First Published:||2001-05-21|
|Date Last Updated:||2001-06-01 13:37 UTC|