设为首页 加入收藏

TOP

Linux Kernel SGI GRU驱动单字节溢出漏洞
2014-11-24 02:04:15 来源: 作者: 【 】 浏览:0
Tags:Linux Kernel SGI GRU 驱动 字节 溢出 漏洞

发布日期:2009-07-16
更新日期:2009-07-22


受影响系统:
Linux kernel 2.6.x
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 35753
CVE(CAN) ID: CVE-2009-1897


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


Linux kernel的drivers/misc/sgi-gru/gruprocfs.c驱动文件中存在单字节溢出漏洞:


static ssize_t options_write(struct file *file, const char __user *userbuf,
size_t count, loff_t *data)
{
unsigned long val;
char buf[80];


if (copy_from_user
(buf, userbuf, count < sizeof(buf) count : sizeof(buf)))
return -EFAULT;
buf[count - 1] = '';
if (!strict_strtoul(buf, 10, &val))
gru_options = val;


return count;
}


这个函数用于处理对相关procfs文件的写操作,仅在用户控制的count小于sizeof(buf)(根据之前分配,这个值为80)的情况下才会调用copy_from_user()。但是空终止没有执行这个检查便直接使用了受用户控制的count值减去1。因此,可以+w访问procfs文件的用户可以向内核内存中的任意位置写入一个空字节。


<*来源:Michael Buesch (mb@bu3sch.de)

链接:http://xorl.wordpress.com/2009/07/21/linux-kernel-sgi-gru-driver-off-by-one-overwrite/
*>


建议:
--------------------------------------------------------------------------------
厂商补丁:


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


http://lkml.org/lkml/2009/7/20/348


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇在Ubuntu 8.10下写的第一个程序 下一篇Java开发选择Linux还是Windows

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: