Microsoft Windows即插即用(PnP)允许操作在安装新硬件时能够检测到这些硬件。 Microsoft Windows 2000 SP4, XP SP1 SP2 中的即插即用服务存在栈溢出漏洞。允许攻击者通过在注册表子键中构建带有多个\'\'\\'\'来触发wsprintfW函数溢出。 Microsoft Windows即插即用功能中存在缓冲区溢出漏洞。UMPNPMGR.DLL用于管理即插即用服务,为访问设备管理和通知服务提供RPC接口。UMPNPMGR代码包含有对wsprintfW的调用,用于在栈缓冲区中创建各种格式化字符串。在有些情况下仅验证用户输入是否相当于HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum已有的子键。尽管这个注册表分支受到保护,但通过提供任意长度的连续反斜线(如\"HTREE\ROOT\\\\0\\\\\\\\\")可以欺骗注册表安全性。 UMPNPMGR接口{8D9F4E40-A03D-11CE-8F69-08003E30051B}中的PNP_GetDeviceList(opnum 10)和PNP_GetDeviceListSize(opnum 11)函数都存在这个漏洞。对于前者,攻击者可以通过传送有效的子键名称到达有漏洞的wsprintfW调用;而对于后者,由于SplitDeviceInstanceString标记字符串的方式,函数必须接收到有空的第二个(如\"HTREE\\ROOT\0\")或第三个(如\"HTREE\ROOT\\0\")组件的密钥名称才能到达GetDeviceInstanceListSiz中有漏洞的wsprintfW调用。 成功利用这个漏洞的攻击者可以完全控制受影响的系统。请注意这个漏洞与MS05-039中的即插即用漏洞无关。
Microsoft Windows即插即用(PnP)允许操作在安装新硬件时能够检测到这些硬件。 Microsoft Windows 2000 SP4, XP SP1 SP2 中的即插即用服务存在栈溢出漏洞。允许攻击者通过在注册表子键中构建带有多个\'\'\\'\'来触发wsprintfW函数溢出。 Microsoft Windows即插即用功能中存在缓冲区溢出漏洞。UMPNPMGR.DLL用于管理即插即用服务,为访问设备管理和通知服务提供RPC接口。UMPNPMGR代码包含有对wsprintfW的调用,用于在栈缓冲区中创建各种格式化字符串。在有些情况下仅验证用户输入是否相当于HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum已有的子键。尽管这个注册表分支受到保护,但通过提供任意长度的连续反斜线(如\"HTREE\ROOT\\\\0\\\\\\\\\")可以欺骗注册表安全性。 UMPNPMGR接口{8D9F4E40-A03D-11CE-8F69-08003E30051B}中的PNP_GetDeviceList(opnum 10)和PNP_GetDeviceListSize(opnum 11)函数都存在这个漏洞。对于前者,攻击者可以通过传送有效的子键名称到达有漏洞的wsprintfW调用;而对于后者,由于SplitDeviceInstanceString标记字符串的方式,函数必须接收到有空的第二个(如\"HTREE\\ROOT\0\")或第三个(如\"HTREE\ROOT\\0\")组件的密钥名称才能到达GetDeviceInstanceListSiz中有漏洞的wsprintfW调用。 成功利用这个漏洞的攻击者可以完全控制受影响的系统。请注意这个漏洞与MS05-039中的即插即用漏洞无关。