In the October monthly security rollups, Microsoft fixed two major issues in IPv6 ICMP protocol. One that can lead to remote code execution (CVE-2020-16898) and another that can lead to denial of service (CVE-2020-16899). All versions of Windows 10 and Windows Server 2019 are affected. Security vendor McAfee has dubbed the flaw the “Bad Neighbor Vulnerability.”
Impacted versions of Windows contain the tcpip.sys driver which has a buffer overflow in the handling of the Recursive DNS Server option. This allows an attacker to run code on a system, or take the system offline. Attack patterns are similar to the ping of death attacks of the 1990s. There is proof of concept code in circulation, and it has a CVSS score of 9.8.
Note that IPv4 is not affected.
The existing proof of concept code can blue screen the system, rather than executing arbitrary code. Code execution is theoretically possible but will take longer for attackers to develop.
What is the potential impact of CVE-2020-16898 and CVE-2020-16899?
The successful exploitation of CVE-2020-16898 allows an attacker to execute code remotely via a specially crafted IPv6 ICMP packet. Additionally, CVE-2020-16899, fixed in the same update, fixes a denial of service condition in IPv6.
What does an attacker need to exploit the Bad Neighbor Vulnerability?
In order to exploit the Bad Neighbor Vulnerability, an attacker needs to be on the same network with the intended targets, though this could be any device that is capable of pinging such as a mobile device. This is a larger concern on publicly facing Windows servers. To attack workstations on your internal network, an attacker would first have to gain access via phishing, drive-by exploits, or additional means.
Bad Neighbor Vulnerability Mitigation
Microsoft released the security update in October 2020 and recommended customers patch as soon as possible.
A mitigation exists in lieu of patching. From a command prompt, issue the following command:
|netsh int ipv6 set int *INTERFACENUMBER* rabaseddnsconfig=disable|
The easiest way to get the interface number is to execute the command route print from a command line. The interface numbers will appear in the left column and should be inserted where *INTERFACENUMBER* is documented in the mitigation.
Note that the mitigation must be applied to every interface. It should be noted that most servers have multiple wired interfaces. Laptops have both wired and wireless interfaces. A system can have virtual interfaces that may or may not share an ID with a physical interface.
The mitigation does not require a reboot. Since the interface numbers vary from machine to machine, the mitigation may be difficult to deploy at scale.
Deepwatch recommends performing the mitigation as quickly as possible and scheduling the update through your normal testing and deployment process.
Detecting CVE-2020-16898 and CVE-2020-16899
- Qualys has released a detection as follows:
- 91686 – Microsoft Windows TCP/IP Remote Code Execution Vulnerability
- Tenable plugins include:
- 141420 – KB4580328: Windows 10 Version 1709 October 2020 Security Update
- 141433 – KB4577668: Windows 10 Version 1809 and Windows Server 2019 October 2020 Security Update
- 141422 -KB4580330: Windows 10 Version 1803 October 2020 Security Update
- 141423 – KB4579311: Windows 10 Version 2004 October 2020 Security Update
- 141427 – KB4577671: Windows 10 Version 1903 and Windows 10 Version 1909 October 2020 Security Update
These detections are likely to require an authenticated scan to work properly. At time of writing this report, the detections do not appear to pick up the mitigation factors but are expected to change in later releases.
Deepwatch customers should contact their vulnerability management engineer for assistance in identifying vulnerable systems.
Deepwatch Managed Detection and Response (MDR), Endpoint Detection and Response (EDR), and Firewall teams will monitor for any additional detections or alerting that can be put in place to notify customers of potential exposure or attacks from this vulnerability.