安全研究
安全漏洞
安全漏洞
所有系统
AIX
BSD(eg,OpenBSD)
Digital Unix
HP-UX
IRIX
Linux
FreeBSD
SCO UNIX
SunOS
Solaris
Windows
所有类型
远程进入系统
本地越权访问
拒绝服务攻击
嵌入恶意代码
Web数据接口
其他类型
Linux Kernel vmsplice_to_user()函数本地权限提升漏洞
发布日期:
2008-02-08
更新日期:
2008-02-21
受影响系统:
Linux kernel 2.6.22 - 2.6.24
不受影响系统:
Linux kernel 2.6.24.1
描述:
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用户权限。
<*来源:Wojciech Purczynskiof (
cliph@research.coseinc.com
)
链接:
http://secunia.com/advisories/28835
http://marc.info/?l=bugtraq&m=120283415307128&w=2
http://www.gossamer-threads.com/lists/engine?do=post_view_printable;post=876486;list=linux
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
http://milw0rm.com/exploits/5093
建议:
厂商补丁:
Linux
-----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.24.1.bz2
浏览次数:
2881
严重程度:
0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障
关于我们
公司介绍
公司荣誉
公司新闻
联系我们
公司总部
分支机构
海外机构
快速链接
绿盟云
绿盟威胁情报中心NTI
技术博客