Intel Pro 100/1000网卡驱动本地权限提升漏洞

漏洞信息详情

Intel Pro 100/1000网卡驱动本地权限提升漏洞

漏洞简介

Intel Pro 100/1000是英特尔推出的系列网卡设备。

所有的Intel网卡驱动(NDIS miniport驱动)中都存在一个栈溢出漏洞,本地攻击者可能利用此漏洞提升自己在系统中的权限。

尽管NDIS miniport驱动占用的是低层,非特权用户态代码仍可以通过需要由NDIS实现的网卡统计请求与该驱动通讯。如果攻击者能够向\Device\{adapterguid}发送IOCTL_NDIS_QUERY_SELECTED_STATS (0x17000E)请求的话,就会导致NDIS.SYS调用 miniport驱动在调用NdisMRegisterMiniport时所注册的QueryInformationHandler例程。这个IOCTL所提供的输入缓冲区是一个有关统计的32位OID列表,每个都独立的传送给了QueryInformationHandler,其中包含有检索统计并将其返回给输出缓冲区所需的代码。

在Intel miniport驱动中,某些OID处理器会处理输出缓冲区的内容。在Windows 2000下,指向用户提供缓冲区的指针直接传送给了miniport驱动,这意味着数据是用户可控的。在Windows XP及之后版本下,指针传送给了内核内存中包含有未定义数据的临时缓冲区,因此必须在攻击前控制pool内存才能控制上述数据。

OID 0xFF0203FC的处理器使用以下strcpy操作将输出缓冲区的字符串拷贝到栈变量:

strcpy(&(var_1D4.sz_62), (char*)InformationBuffer + 4)

因此,攻击者可以通过提供0x17A个字符的字符串导致处理器完全覆盖函数的返回地址,将执行流重新定向到任意用户态或内核态地址。攻击字符串必须位于输出缓冲区的+0x0C偏移处,因为NDIS本身会使用前8个字节。

参考网址

来源: US-CERT

名称: VU#296681

链接:http://www.kb.cert.org/vuls/id/296681

来源: www.intel.com

链接:http://www.intel.com/support/network/sb/CS-023726.htm

来源: VUPEN

名称: ADV-2006-4871

链接:http://www.frsirt.com/english/advisories/2006/4871

来源: XF

名称: intel-lan-driver-bo(30750)

链接:http://xforce.iss.net/xforce/xfdb/30750

来源: BID

名称: 21456

链接:http://www.securityfocus.com/bid/21456

来源: BUGTRAQ

名称: 20061207 EEYE: Intel Network Adapter Driver Local Privilege Escalation

链接:http://www.securityfocus.com/archive/1/archive/1/453852/100/0/threaded

来源: SECUNIA

名称: 23221

链接:http://secunia.com/advisories/23221

来源: MISC

链接:http://research.eeye.com/html/advisories/upcoming/20060710.html

来源: MISC

链接:http://research.eeye.com/html/advisories/published/AD20061207.html

来源: MLIST

名称: [freebsd-security] 20061206 Intel LAN Driver Buffer Overflow Local Privilege Escalation

链接:http://lists.freebsd.org/pipermail/freebsd-security/2006-December/004186.html

来源: SECTRACK

名称: 1017346

链接:http://securitytracker.com/id?1017346

来源: SREASON

名称: 2007

链接:http://securityreason.com/securityalert/2007

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享