受影响系统:
Microsoft Windows XP SP2 Microsoft Windows 2000SP4 描述:
BUGTRAQ ID: 20985 CVE(CAN) ID: CVE-2006-4691
Microsoft Windows是微软发布的非常流行的操作系统。
Windows的Workstation服务组件中存在栈溢出漏洞,远程攻击者可能利用此漏洞在服务器上执行任意指令。
在Workstation服务名为wkssvc.dll的模块中,NetpManageIPCConnect函数以未经检查的缓冲区数据调用了swprintf,而输入缓冲区是远程攻击者可控的。
.text:76781D67 mov edi, [ebp+arg_0] ... .text:76781D90 lea eax, [ebp+var_2CC] ... .text:76781DA0 push edi .text:76781DA1 push offset "%ws\\IPC$" .text:76781DA6 push eax .text:76781DA7 call ds:swprintf
NetpJoinDomain调用了这个函数,最终由NetrJoinDomain2函数通过RPC调用。
NetrJoinDomain2的IDL类似于:
long _NetrJoinDomain2@28 ( [in][unique][string] wchar_t * arg_1, [in][string] wchar_t * arg_2, [in][unique][string] wchar_t * arg_3, [in][unique][string] wchar_t * arg_4, [in][unique] struct_C * arg_5, [in] long arg_6 );
arg_2包含有格式类似于<Domain name>+"\"+<Hostname>的字符串。
<Hostname>会用作NetpManageIPCConnect的第一参数。这个变量是攻击者可控的,最终传送给swprintf,导致栈溢出。
<*来源:JeongWook Matt Oh Derek Soeder (dsoeder@eeye.com) 链接:http://secunia.com/advisories/22883 http://research.eeye.com/html/advisories/published/AD20061114.html http://www.microsoft.com/technet/security/bulletin/ms06-070.mspx http://www.us-cert.gov/cas/techalerts/TA06-318A.html *>
建议:
临时解决方法:
* 在防火墙处阻断TCP端口139和445。 * 使用个人防火墙,如Windows XP所捆绑的Windows防火墙。 * 在支持高级TCP/IP过滤功能的系统上启用此功能。 * 在受影响的系统上使用IPSec来阻断受影响的端口。
厂商补丁:
Microsoft --------- Microsoft已经为此发布了一个安全公告(MS06-070)以及相应补丁: MS06-070:Vulnerability in Workstation Service Could Allow Remote Code Execution (924270) 链接:http://www.microsoft.com/technet/security/bulletin/ms06-070.mspx
补丁下载: http://www.microsoft.com/downloads/details.aspx?FamilyId=3ad5c57d-d3f6-46a1-8dee-3e16d0977f80 http://www.microsoft.com/downloads/details.aspx?FamilyId=f4c8e767-4ed2-4e36-aa43-612f3017efc7 |