Linux Kernel “drivers/scsi/gdth.c” IOCTL本地权限提升漏

Linux Kernel "drivers/scsi/gdth.c" IOCTL本地权限提升漏洞

发布日期:2010-10-25
更新日期:2010-12-09

受影响系统:
Linux kernel 2.6.0 - 2.6.37
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 44648
CVE ID: CVE-2010-4157

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

Linux Kernel在实现上存在漏洞,攻击者可利用此漏洞以内核级别执行任意代码,完全控制受影响的计算机。

此漏洞源于ioctl中的整数溢出错误。

<*来源:Dan Carpenter (error27@gmail.com)
        
  *>

测试方法:
--------------------------------------------------------------------------------

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

Dan Carpenter (error27@gmail.com)提供了如下测试方法:

--- a/drivers/scsi/gdth.c+++ b/drivers/scsi/gdth.c@@ -4177,6 +4177,14 @@ static int ioc_general(void __user *arg, char *cmnd)     ha = gdth_find_ha(gen.ionode);     if (!ha)         return -EFAULT;++    if (gen.data_len > INT_MAX)+        return -EINVAL;+    if (gen.sense_len > INT_MAX)+        return -EINVAL;+    if (gen.data_len + gen.sense_len > INT_MAX)+        return -EINVAL;+     if (gen.data_len + gen.sense_len != 0) {         if (!(buf = gdth_ioctl_alloc(ha, gen.data_len + gen.sense_len,                                      FALSE, &paddr)))

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

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwsgdj.html