Лошият съсед – CVE-2020-16898
Уязвимостта засяга IPv6 стака на всички модерни Windows операционни системи и позволява DoS атаки
Microsoft публикува информация относно критична уязвимост в IPv6 стака на всички модерни Windows операционни системи, оценена с впечатляващите 9.8 CVSSv3 базови точки. Тази уязвимост позволява отдалечено изпълнение на код (RCE) чрез специално изработени IPv6 пакети, без нападателят да има нужда да се автентикира.
Уязвимостта е критична и несъмнено трябва да бъде пачната при първа възможност, но към момента на публикуване на тази статия, следва да се обърне внимание на няколко важни детайла:
- Текущият proof-of-concept (PoC) експлойт, споделен с членовете на MAPP (Microsoft Active Protection Program), е изключително прост и 100% ефективен, но той не води до RCE, а само до незабавен BSOD (Blue Screen of Death). Т.е. тази уязвимост към момента може да бъде експлоатирана за осъществяване на DoS атаки.
- Уязвимостта се корени в проблеми с обработката на ICMPv6 Router Advertisement, които са част от ICMPv6 Neighbor Discovery “протокола”. За щастие такива пакети не се изпращат свободно в интернет и най-често биват филтрирани на ниво firewall/border router. При това положение, атакуващият най-вероятно ще се намира в локалния мрежов сегмент на жертвата.
- “Лошият съсед” (Bad Neighbor) е прякорът на CVE-2020-16898, която има потенциал да се имплементира в саморазпространяващ се зловреден код (червей). Засега постигането на BSOD е само върхът на айсберга: това е първата стъпка към осъществяването на успешен RCE, чрез навързване (chaining) на няколко уязвимости, което рано или късно ще се случи със сигурност.
- Всъщност, според ветерани като Malware Jake, едва ли ще се постигне RCE.
Засегнатите операционни системи и версии са:
- 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 System
- 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)
Как да се защитим
Накратко: Calm down and patch!
Приложете съответните пачове и си отворете по една студена бира за добре свършената работа.
За тези от вас, които, по една или друга причина, не могат да приложат обновленията, съществува workaround: Изключете ICMPv6 RDNSS чрез powershell команда и рестартирайте операционната система.
netsh int ipv6 set int *INTERFACENUMBER* rabaseddnsconfig=disable
За пълна видимост и регистриране на опити за експлоатация, вече има публикувани Suricata IDS/IPS правила.
За най-актуална информация, препоръчваме да следите официалната статия със съвети от Microsoft.
За да научите повече за тази уязвимост, препоръчваме да прочетете чудесните статии на McAffee и Rapid7:
https://www.mcafee.com/blogs/other-blogs/mcafee-labs/cve-2020-16898-bad-neighbor/
А, ако ви се струва, че имате Deja Vu, не сте се объркали – Ping of Death.