BUGTRAQ ID: 31246 G DATA是德国的一家杀毒软件厂商。 G DATA产品所使用的GDTdiIcpt.sys内核驱动在处理IOCTL请求时存在错误,本地攻击者可以利用这个漏洞导致拒绝服务或执行任意内核级代码。 GDTdiIcpt.sys驱动未经验证便接受了用户提供的IOCTL 0x8317001c调用,这样就可以用任意值填充不同的内核寄存器。之后这些寄存器值被用作了内核函数的参数,因此特制参数可能完全控制Windows内核的执行流。 以下是GDTdiIcpt.sys的反汇编(Windows Vista 32位版): [...] .text:00012510 cmp [ebp+arg_18], 8317001Ch [...] .text:0001251D mov ebx, [ebp+arg_10] <-- [1] .text:00012520 mov esi, [ebp+arg_8] .text:00012523 push 7 .text:00012525 pop ecx .text:00012526 mov edi, ebx .text:00012528 rep movsd .text:0001252A movsb .text:0001252B test byte ptr [ebx+2], 8 .text:0001252F jnz short loc_12598 [...] [1] 未经任何验证便将用户输入拷贝到了EBX寄存器。 G DATA Internet Security 2008 G DATA AntiVirus 2008 G DATA TotalCare 2008 G DATA ------ 目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本: <a href=http://www.gdata.de/portal/DE/ target=_blank>http://www.gdata.de/portal/DE/</a>
BUGTRAQ ID: 31246 G DATA是德国的一家杀毒软件厂商。 G DATA产品所使用的GDTdiIcpt.sys内核驱动在处理IOCTL请求时存在错误,本地攻击者可以利用这个漏洞导致拒绝服务或执行任意内核级代码。 GDTdiIcpt.sys驱动未经验证便接受了用户提供的IOCTL 0x8317001c调用,这样就可以用任意值填充不同的内核寄存器。之后这些寄存器值被用作了内核函数的参数,因此特制参数可能完全控制Windows内核的执行流。 以下是GDTdiIcpt.sys的反汇编(Windows Vista 32位版): [...] .text:00012510 cmp [ebp+arg_18], 8317001Ch [...] .text:0001251D mov ebx, [ebp+arg_10] <-- [1] .text:00012520 mov esi, [ebp+arg_8] .text:00012523 push 7 .text:00012525 pop ecx .text:00012526 mov edi, ebx .text:00012528 rep movsd .text:0001252A movsb .text:0001252B test byte ptr [ebx+2], 8 .text:0001252F jnz short loc_12598 [...] [1] 未经任何验证便将用户输入拷贝到了EBX寄存器。 G DATA Internet Security 2008 G DATA AntiVirus 2008 G DATA TotalCare 2008 G DATA ------ 目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本: <a href=http://www.gdata.de/portal/DE/ target=_blank>http://www.gdata.de/portal/DE/</a>