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