Intel网卡驱动本地权限提升漏洞

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

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个字节。 Intel PRO 10/100 for Windows <= 8.0.27.0 Intel PRO 10/100 for UnixWare/SCO6 <= 4.0.3 Intel PRO 10/100 for Linux <= 3.5.14 Intel PRO/1000 for Windows <= 8.7.1.0 Intel PRO/1000 for UnixWare/SCO6...

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