Package name
modutils
Date
2000-11-23
Advisory ID
MDKSA-2000:071-1
Affected versions
7.1 i586 , 7.2 i586

Problem description

All 2.3.x versions of modutils (since March 12 1999) contain a vulnerability that can lead to a local root compromise. The modprobe program uses popen() to execute the "echo" program argumented with user input. Because popen() relies on /bin/sh to parse the command string and execute "echo", un-escaped shell meta-characters can be included in user input to execute commands. Although modprobe is not installed setuid root, this vulnerability can be exploited to gain root access provided the target system is using kmod. Kmod is a kernel facility that automatically executes the program modprobe when a module is requested via request_module(). One program that can take advantage of this vulnerability is ping. When a device is specified at the command line that doesn't exist, request_module is called with the user-supplied arguments passed to the kernel. The kernel then takes the arguments and executes modprobe with them. Arbitrary commands included in the argument for module name (device name to ping) are then executed when popen() is called as root. A new version of modutils (2.3.20) has been released that fixes this particular vulnerability. modutils still supports meta expansion, including back quoted commands, but only for data read from the configuration file. This assumes that when modutils is run as root out of the kernel, normal users cannot specify their own configuration files. Update: The previous version of modutils (2.3.20) contained an error in the new safe guards that caused them to not properly be enabled when run as root from the kmod process. These new safe guards check the arguments passed to modules. The 2.3.21 modutils package fixes this error and correctly checks the arguments when running from kmod, limiting kernel module arguments to those specified in /etc/conf.modules (Linux-Mandrake 7.1) or /etc/modules.conf (Linux-Mandrake 7.2).

Updated packages

7.1 i586

 75dd47e569d7ab2c92d90f5287c31701  7.1/RPMS/modutils-2.3.21-1.2mdk.i586.rpm
0c722ca0610cb30fc53c3a15052788d6  7.1/SRPMS/modutils-2.3.21-1.2mdk.src.rpm

7.2 i586

 bd41dc31c12162fa35a46e72720c917b  7.2/RPMS/modutils-2.3.21-1.1mdk.i586.rpm
0f06619f247ed7616a773fffa30e707a  7.2/SRPMS/modutils-2.3.21-1.1mdk.src.rpm