Linux Kernel I/O-Warrior USB设备栈溢出漏洞


发布日期:2011-01-31
更新日期:2011-03-10

受影响系统:
Debian Linux 5.0 x
Linux kernel 2.6.x
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 46069
CVE ID: CVE-2010-4656

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

Linux Kernel在实现上存在USB设备栈溢出漏洞,攻击者可利用此漏洞以超级用户的权限执行任意代码,完全控制受影响计算机,使内核崩溃,拒绝服务合法用户。

如果在case语句中iowarrior设备支持每个报告中多于8个字节,就可能在内核堆分配外写入。
index bc88c79..8ed8d05 100644 (file)
--- a/drivers/usb/misc/iowarrior.c
+++ b/drivers/usb/misc/iowarrior.c
@@ -374,7 +374,7 @@ static ssize_t iowarrior_write(struct file *file,
        case USB_DEVICE_ID_CODEMERCS_IOWPV2:
        case USB_DEVICE_ID_CODEMERCS_IOW40:
                /* IOW24 and IOW40 use a synchronous call */
-               buf = kmalloc(8, GFP_KERNEL);   /* 8 bytes are enough for both products */
+               buf = kmalloc(count, GFP_KERNEL);
                if (!buf) {
                        retval = -ENOMEM;
                        goto exit;

<*来源:Kees Cook (kees@ubuntu.com)
 
  链接:https://bugzilla.redhat.com/show_bug.cgi?id=672420
        http://www.bkjia.com/Linux/2011-03/33315htm
*>

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

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

http://www.kernel.org/

相关内容