Microsoft Windows SMB客户端池破坏远程代码执行漏洞(MS10-006)

2010-02-20T00:00:00
ID SSV:19148
Type seebug
Reporter Root
Modified 2010-02-20T00:00:00

Description

BUGTRAQ ID: 38093 CVE ID: CVE-2010-0016

Microsoft Windows是微软发布的非常流行的操作系统。

SMB客户端实现没有正确的验证SMB响应中的字段,远程攻击者可以通过向初始SMB请求的客户端回复特制的SMB响应来利用这个漏洞,导致完全控制受影响的系统。

在初始化SMB通讯时客户端会发送Negotiate Protocol报文来协商对话,服务器的响应包含有以下结构:

uchar WordCount; / must be 0x11 (17) / ushort DialectIndex; / selected dialect / uchar SecurityMode; / security flags / ushort MaxMpxCount; / maximum pending multiplexed requests supported / ushort MaxNumberVCs; / maximum virtual connections / ulong MaxBufferSize; / maximum SMB message size / ulong MaxRawSize; / maximum raw buffer size / ulong SessionKey; / unique session identifier / ulong Capabilities; / server capabilities / ulong SystemTimeLow; / server time - low bytes / ulong SystemTimeHigh; / server time - high bytes / short ServerTimeZone; / time zone / uchar EncryptionKeyLength; / set to 0 or 8 /

如果服务端返回了包含有很小MaxBufferSize值的响应报文,就可以触发内核池破坏。

Microsoft Windows XP SP3 Microsoft Windows XP SP2 Microsoft Windows Server 2003 SP2 Microsoft Windows 2000SP4 临时解决方法:

  • 在防火墙阻断TCP 139和445端口。

厂商补丁:

Microsoft

Microsoft已经为此发布了一个安全公告(MS10-006)以及相应补丁: MS10-006:Vulnerabilities in SMB Client Could Allow Remote Code Execution (978251) 链接:http://www.microsoft.com/technet/security/Bulletin/MS10-006.mspx?pf=true