• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们
docurl=/cn/Products___Technology/Products/IP_Security/Security_Research/Home/Notice/Notice/202112/1519560_30003_0.htm

Windows TCP-IP多个远程代码执行及拒绝服务漏洞通告

【发布时间:2021-12-30】

威胁预警团队

2021/02/10


1. 漏洞综述

1.1 漏洞背景

近日,新华三攻防实验室威胁预警团队监测到微软官方发布了一组Windows TCP/IP远程代码执行漏洞/拒绝服务的修复程序,其中涉及到三个Windows TCP/IP漏洞,分别为:Windows TCP/IP远程代码执行漏洞(CVE-2021-24074、CVE-2021-24094)以及Windows TCP/IP拒绝服务漏洞(CVE-2021-24086)。这些漏洞被利用可能性极大。未经身份验证的攻击者可远程触发漏洞,成功利用这些漏洞可导致在目标机器上执行任意代码或者系统崩溃蓝屏。

1.2 漏洞原理

漏洞根源在于Microsoft实现TCP/IP协议的缺陷,这点也可以从补丁中看出,如下图所示,微软此次补丁对Windows TCP/IP模块的修改包括IPv4、IPv6的包重组、分片处理部分都进行了处理,该漏洞几乎影响所有现有主流操作系统,甚至可能会被蠕虫化方式利用。

1) CVE-2021-24074

该漏洞是由于Windows TCP/IP 在两个分片报文之间的不同IPv4选项字段发生了混淆而导致。在函数Ipv4pReceiveFragment中,如果攻击者传入了无效的标头数据,可以导致内核越界数据读取和写入。远程攻击者可通过向目标系统发送特制的IP数据包来利用此漏洞,成功的利用可能允许攻击者在目标系统上执行任意代码。微软公告如下图所示,CVSS评分为9.8,风险等级为紧急,被利用可能性极大。

2)CVE-2021-24086

该漏洞是由于内核的 Ipv6pReassembleDatagram 函数中存在空指针漏洞引起,通过使用 Jumbograms 或者分片重组的方式可设置Reassembly->UnfragmentableLength为某个特殊值,从而引发空指针引用。远程攻击者可通过向目标系统发送特制数据包来利用此漏洞,成功利用此漏洞可导致目标系统拒绝服务(蓝屏)。微软公告如下图所示,CVSS评分为7.5,风险等级为重要,被利用可能性极大。

3)CVE-2021-24094

该漏洞是由于Windows TCP/IP 中处理ipv6报文的 Ipv6pReassembleDatagram 函数未初始化内存导致,在不触发递归重组的功能的情况下,调用相关函数时,会使得ReassControl->IP指针可控。远程攻击者可以发送大量的恶意数据报文到远程机器,成功利用可导致目标机器蓝屏,进一步利用甚至实现远程代码执行。微软公告如下图所示,CVSS评分为9.8,风险等级为紧急,被利用可能性极大。

2. 影响范围

Windows 7 SP1 – Windows10 20H2

Windows Server 2008 - Windows Server 20H2

3. 处置方法

3.1官方补丁

1、目前官方已经发布对应漏洞修复程序,请下载安装对应的安全更新,下载链接: https://msrc.microsoft.com/update-guide/releaseNote/2021-Feb

3.2 临时解决方案

如果不能立即安装更新的话,参考以下步骤缓解。

1、CVE-2021-24074缓解建议:

1)将sourceroutingbehavior 设置为"drop":(管理员权限下执行)

netsh int ipv4 set global sourceroutingbehavior=drop

注意,在Windows默认情况下,IPv4源路由被认为是不安全的,系统将处理该来源请求并返回拒绝该请求的ICMP消息,这导致漏洞利用的产生。但是,该解决方法将导致系统完全丢弃这些请求,而不进行任何处理。

如需恢复默认设置,可使用以下命令:

netsh int ipv4 set global sourceroutingbehavior=dontforward

2)配置防火墙或负载平衡器以禁止源路由请求

2、CVE-2021-24086、CVE-2021-24094漏洞缓解建议:

1)将global reassemblylimit 设置为0:(管理员权限下执行)

以下命令将禁用数据包重组,乱序数据包将会被丢弃。建议在充分测试之后更新生产系统!

Netsh int ipv6 set global reassemblylimit=0

如需恢复默认设置,可使用以下命令:

Netsh int ipv6 set global reassemblylimit=267748640

2)配置防火墙或负载平衡器以禁止IPv6 UDP分片

4. 参考链接

1、 https://msrc.microsoft.com/update-guide/vulnerability/

新华三官网
联系我们