Lucene search

K
seebugRootSSV:2921
HistoryFeb 22, 2008 - 12:00 a.m.

Linux Kernel vmsplice_to_user()函数本地权限提升漏洞

2008-02-2200:00:00
Root
www.seebug.org
8

0.0004 Low

EPSS

Percentile

8.2%

BUGTRAQ ID: 27799
CVE(CAN) ID: CVE-2008-0009

Linux Kernel是开放源码操作系统Linux所使用的内核。

Linux Kernel的实现上存在漏洞,本地攻击者可能利用此漏洞提升自己的权限。

Linux Kernel的fs/splice.c文件中的vmsplice_to_user()函数错误地引用了用户提供的内存指针:

—8<— fs/splice.c:1378 —8<—
error = get_user(base, &iov->iov_base);
/* … /
if (unlikely(!base)) {
error = -EFAULT;
break;
}
/
/
sd.u.userptr = base;
/
… */
size = __splice_from_pipe(pipe, &sd, pipe_to_user);
—8<— fs/splice.c:1401 —8<—

这段代码没有验证这些指针。__splice_from_pipe()假设这些指针为有效的用户内存指针,没有执行任何验证。函数用pipe_to_user()中的__copy_to_user_inatomic()函数引用了指针,以便将数据写入用户进程内存,导致可能将从管道读取的任意数据写入到内核内存。本地攻击者可以通过特制的vmsplice()系统调用导致获得root用户权限。

Linux kernel 2.6.22 - 2.6.24
厂商补丁:

Linux

目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

<a href=“http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.24.1.bz2” target=“_blank”>http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.24.1.bz2</a>


                                                http://www.sebug.net/exploit/3128
                              

0.0004 Low

EPSS

Percentile

8.2%