【安全通告】Windows TCP/IP远程代码执行漏洞

当地时间10月13日,微软最新的月度补丁更新中修复了一枚存在于Windows TCP/IP堆栈中的Critical级别漏洞(CVE-2020-16898,代号“Bad Neighbor”)。攻击者通过发送恶意制作的ICMPv6 Router Advertisement数据包,有可能在远程系统上执行任意代码。

McAfee 表示,MAPP(Microsoft Active Protection)计划成员共享的概念验证代码既简单又可靠,可导致蓝屏死机。

微软官方给出的评分为 9.8 :

CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:P/RL:O/RC:C。

https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-16898

漏洞概述

当Windows TCP/IP堆栈未正确处理使用Option类型为 25(递归DNS服务器)且Length字段值为偶数的 ICMPv6 Router Advertisement数据包时,存在漏洞。

当Length值为偶数时,Windows TCP/IP协议栈错误地将网络缓冲区提前了8个字节。这是因为堆栈内部以16字节为增量进行计数,没有考虑到使用非RFC兼容长度值的情况。这种不匹配导致堆栈将当前option的最后8个字节解释为第二个option的开始,最终导致缓冲区溢出和潜在的RCE。

参考链接:

https://www.mcafee.com/blogs/other-blogs/mcafee-labs/cve-2020-16898-bad-neighbor/

受影响产品版本

  • Windows 10 Version 1709 for 32-bit Systems
  • Windows 10 Version 1709 for ARM64-based Systems
  • Windows 10 Version 1709 for x64-based Systems
  • Windows 10 Version 1803 for 32-bit Systems
  • Windows 10 Version 1803 for ARM64-based Systems
  • Windows 10 Version 1803 for x64-based Systems
  • Windows 10 Version 1809 for 32-bit Systems
  • Windows 10 Version 1809 for ARM64-based Systems
  • Windows 10 Version 1809 for x64-based Systems
  • Windows 10 Version 1903 for 32-bit Systems
  • Windows 10 Version 1903 for ARM64-based Systems
  • Windows 10 Version 1903 for x64-based Systems
  • Windows 10 Version 1909 for 32-bit Systems
  • Windows 10 Version 1909 for ARM64-based Systems
  • Windows 10 Version 1909 for x64-based Systems
  • Windows 10 Version 2004 for 32-bit Systems
  • Windows 10 Version 2004 for ARM64-based Systems
  • Windows 10 Version 2004 for x64-based Systems
  • Windows Server 2019
  • Windows Server 2019 (Server Core installation)
  • Windows Server, version 1903 (Server Core installation)
  • Windows Server, version 1909 (Server Core installation)
  • Windows Server, version 2004 (Server Core installation)

解决方案

微软官方已针对受影响系统发布安全补丁,强烈建议相关用户尽快更新。

补丁升级,参考链接:

https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-16898

另外,还提供了以下缓解措施:

禁用ICMPv6 RDNSS

使用下面的PowerShell命令可禁用ICMPv6 RDNSS,以防止攻击者利用此漏洞。此解决方法仅适用于Windows 1709及更高版本。

netsh int ipv6 set int *INTERFACENUMBER* rabaseddnsconfig=disable

备注: 进行更改后,无需重新启动。

如需禁用以上缓解措施,执行如下命令:

netsh int ipv6 set int *INTERFACENUMBER* rabaseddnsconfig=enable

备注:执行后也无需重新启动。

Spread the word. Share this post!

Meet The Author

Leave Comment