Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
CVE-2020-16898 – Windows TCP/IP Remote Code Execution Vulnerability (msrc.microsoft.com)
126 points by marksamman on Oct 13, 2020 | hide | past | favorite | 20 comments


Sophos says achieving RCE is extremely difficult: https://news.sophos.com/en-us/2020/10/13/top-reason-to-apply...

I also assume that routers won't pass ICMPv6 RAs, so limited to a single network segment. And, only affects Windows 10.


Microsofts own CVSS score says 'attack complexity' is low.

https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=...


Both can be true; BSOD is trivial, RCE can be very hard.


It's not just Windows 10.


There aren't any Windows versions before W10 1709 (or Windows Server before 2019) listed in the release.


While true that it is extremely difficult to exploit (especially given the uptake of IPv6) there are some POC samples out there but I disagree with the severity rating awarded.

The 'juicy details' are as follows -

    The validity of DNS options is checked with the Length field; that is, the value of the Length field in the RDNSS option is greater than or equal to the minimum value (3) and satisfies the requirement that (Length - 1) % 2 == 0. When an even length value is provided, the Windows TCP/IP stack incorrectly advances the network buffer by an amount that is 8 bytes too few. 

(Note: Only relates to IPv6 Router Advertisement packets that use Option Type 25 (Recursive DNS Server Option) and a length field value that is even).


This is wormable. Ready your patches!


I’ve not looked in detail, but I’d be surprised if it was as I don’t think Router Announcements propagate beyond the local network...so you could get all machines on a network segment but it wouldn’t spread across a whole company.

Definitely still worth patching tho!


I was thinking along the lines of infected laptop that goes from wifi to wifi. I may be wrong though.


Anyone have lists of suggested filters for L3 switches and access points to block this traffic?

If I had a campus network of windows hosts I'd be very concerned about this!


From [1]

Signature -

The Suricata signature for this vulnerability is located in cve-2020-16898.rules and contains the following logic:

    alert icmp any any -> any any (msg:"Potential CVE-2020-16898 Exploit"; lua:cve-2020-16898.lua; sid:202016898; rev:1;)

    The corresponding Lua script may be found in cve-2020-16898.lua. It contains the logic necessary to properly parse the ICMPv6 layer and identify potential exploitation of Bad Neighbor, as follows:

    Once we've located the start of the ICMPv6 layer, we test the first byte of the layer to ensure that it's a Router Advertisement ICMPv6 packet (Type = 134) - if it isn't, we exit.

    Since Suricata primitives have not been updated to parse the ICMPv6 options, we simply jump to the 17th byte of the ICMPv6 layer, since that's where the Options should start, if present (the first 16 bytes are static-length fields, per RFC 4443). From there, we loop over every Option until we run out of bytes in the packet. For each Option, we're only interested in the first two bytes: the Option Type and Length fields, respectively. While we ignore all Options that aren't RDNSS, for Option Type = 25 (RDNSS), we check to see if the Length (second byte in the Option) is an even number. If it is, we flag it. If not, we continue. Since the Length is counted in increments of 8 bytes, we multiply the Length by 8 and jump ahead that many bytes to get to the start of the next Option (subtracting 1 to account for the length byte we've already consumed).

    With this rule, we also check to make sure that the Length is at least 3, since RFC 8106 requires it, but ultimately this check may be superfluous, since we're only concerned with whether the Length is even or not.
[1] https://github.com/advanced-threat-research/CVE-2020-16898 (HTH)


Most gear should have a feature called RA Guard which will block this put of the box and you should run it regardless of this vuln because your clients shouldn't be advertising as routers on your network.


Any idea if RA Guard will block unicast RAs? -- it wouldn't need to for the ordinary purpose of blocking misconfigured devices.


I can't speak for every implementation in the world but at least most block both as it actually takes more work to create a filter that only blocks multicast RAs. The filter to block all is an automatic ACL saying "ICMP Type 136, direction ingress, action drop" and a multicast only version would take additional checks to do less.


"While Shodan.io shouldn’t be counted on as a definitive source, our best queries put the number of Windows Server 2019 machines with IPv6 addresses is in the hundreds, not exceeding approximately 1000. This is likely because most servers are behind firewalls or hosted by Cloud Service Providers (CSPs) and not reachable directly via Shodan scans."

High priority issue, but I dont think we will see some massive wave of outages.


Shodan (or anyone else) can't really get an authoritative count of live IPv6 devices of any kind, because the address space is too big to scan using brute force.

They had (have?) a clever semi-workaround for this, by getting themselves into one or more of the public NTP pools, and then port-scanning any IPv6 address that queried their NTP service, but I wouldn't consider that count anything like definitive.

Regardless, it's still a huge problem for internal networks.


I read they got kicked off the NTP pool, but it's not the only way to enumerate IPv6 sources. There are many different ways to significantly reduce the search space including looking only at announced prefixes, searching common IPv6 addresses (i.e. the first few, last few, plus common mac address ranges for EUI-64) etc.


Correct. Shodan got kicked out for the following

"Hi Luca (and everyone),

I removed those servers yesterday. Brad had been helping look to see if others were doing something similar.

I think the behavior was falling well outside what's reasonably expected from a server operator participating in the pool."

https://seclists.org/oss-sec/2016/q1/239 "

Discussed on HN (2015) https://news.ycombinator.com/item?id=10979720 https://news.ycombinator.com/item?id=11058531

Pretty sucky behaviour from Shodan imo.


It would be nice to know if this vulnerability is avoided by simply disabling IPv6, since almost no one uses v6 on LANs anyway.


Then have a 'Nice To Know' free of charge. Yes, it only impacts IPv6 so if you don't handle IPv6 RA (or any IPv6 traffic) you are unaffected.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: