Microsoft Windows是微软发布的非常流行的操作系统。
Windows系统的MSDTC处理某些畸形DCE-RPC请求时存在内存分配漏洞,远程攻击者可能利用此漏洞对服务器执行拒绝服务攻击。
MS05-051中所述的MSDTC RPC漏洞利用的是MSDTCPRX.DLL中MIDL_user_allocate函数实现内存管理器的方式。该函数接收任何分配大小,但最多只能分配4KB的内存。然后RPCRT4会试图将管理数据储存到(memory address + requested size),这就可能导致修改任意内存,因为任意大小的分配尝试都会成功,但所保留的内存最多只有4KB。
MS05-051的hotfix对分配大小设置了上限,在Windows Server 2003为0xFA8,在Windows 2000中为0xFB0。这种检查还不足以防范对所分配4KB以外内存的访问。在Windows 2000上,如果将单个BuildContextW请求的“UuidString”或“GuidIn”设置为最大字符计数0x7D0的话,就会导致默认状态的MSDTC崩溃。
Microsoft Windows XP SP1
Microsoft Windows Server 2003
Microsoft Windows 2000
临时解决方法:
NSFOCUS建议采取如下措施以降低威胁:
* 禁用分布式事务处理协调器
* 禁用网络DTC访问
* 在防火墙处阻止端口号大于1024的端口上的所有入站通讯以及任何其他特殊配置的RPC端口
* 使用个人防火墙,如Windows XP和Windows Server 2003捆绑的Internet连接防火墙
* 在支持高级TCP/IP过滤功能的系统上启用此功能
* 在受影响的系统上使用IPSec来阻断受影响的端口
厂商补丁:
Microsoft
---------
Microsoft已经为此发布了一个安全公告(MS06-018)以及相应补丁:
MS06-018:Vulnerability in Microsoft Distributed Transaction Coordinator Could Allow Denial of Service (913580)
链接:http://www.microsoft.com/technet/security/Bulletin/MS06-018.mspx?pf=true
暂无评论