Linux Kernel SGI GRU驱动 程序gruprocfs.c 单字节溢出漏洞 CVE-2009-2584 CNNVD-200907-351

7.2 AV AC AU C I A
发布: 2009-07-23
修订: 2018-11-16

Linux kernel是美国Linux基金会发布的开源操作系统Linux所使用的内核。NFSv4 implementation是其中的一个分布式文件系统协议。 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文件的用户可以向内核内存中的任意位置写入一个空字节。

0%
暂无可用Exp或PoC
当前有1条受影响产品信息