Linux是极为流行的开放源代码的操作系统内核。 Linux kernel/kmod.c程序以不安全的方式建立内核线程,本地攻击者利用这个漏洞通过竞争条件攻击方法获得root用户权限。 当进程请求的功能在模块中的情况下,内核就会派生一子进程,并把子进程的euid和egid设置为0并调用execve(\"/sbin/modprobe\")。问题是在euid更改到子进程前可以被ptrace()挂接调试,因此攻击者可以插入任意代码到进程中并以root用户的权限运行。 要利用此漏洞,必须需要如下条件: 1、Linux内核以模块方式构建,内核模块可装载。 2、/proc/sys/kernel/modprobe包含一些合法可执行的路径。 3、ptrace()没有被限制。
Linux是极为流行的开放源代码的操作系统内核。 Linux kernel/kmod.c程序以不安全的方式建立内核线程,本地攻击者利用这个漏洞通过竞争条件攻击方法获得root用户权限。 当进程请求的功能在模块中的情况下,内核就会派生一子进程,并把子进程的euid和egid设置为0并调用execve(\"/sbin/modprobe\")。问题是在euid更改到子进程前可以被ptrace()挂接调试,因此攻击者可以插入任意代码到进程中并以root用户的权限运行。 要利用此漏洞,必须需要如下条件: 1、Linux内核以模块方式构建,内核模块可装载。 2、/proc/sys/kernel/modprobe包含一些合法可执行的路径。 3、ptrace()没有被限制。