В мае 2020 года исследователи Trend Micro Zero Day Initiative рассказали о пяти неисправленных 0-day уязвимостях в Windows, четыре из которых имели высокую степень риска.
Три уязвимости, получившие идентификаторы CVE-2020-0916, CVE-2020-0986 и CVE-2020-0915, набрали 7 баллов из 10 возможных по шкале оценки уязвимостей CVSS. По сути, три эти проблемы позволяли злоумышленнику повысить свои привилегии в уязвимой системе до уровня текущего пользователя. Однако злоумышленникам, которые решат эксплуатировать эти баги, сначала пришлось бы получить низко привилегированный доступ к целевой системе.
Корень этих проблем заключается в хост-процессе драйвера принтера splwow64.exe, работающем в user-mode: предоставляемые пользователем входные данные не проходили должной валидации перед разыменованием указателя.
Теперь, спустя полгода, специалистка Google Project Zero Мэдди Стоун обнаружила, что июньский патч Microsoft не до конца устранил уязвимость CVE-2020-0986, и ее все еще можно использовать, повысив привилегии до уровня ядра.
The original issue was an arbitrary pointer dereference which allowed the attacker to control the src and dest pointers to a memcpy. The "fix" simply changed the pointers to offsets, which still allows control of the args to the memcpy.
— Maddie Stone (@maddiestone) December 23, 2020
В кратком техническом отчете о новой проблеме, получившей идентификатор CVE-2020-17008, Стоун объясняет механику работы старой-новой уязвимости, а также прилагает к отчету простой PoC-эксплоит, переделанный из эксплоита «Лаборатории Касперского».
Инженеры Microsoft были уведомлены об этой ошибке еще 24 сентября 2020 года и планировали выпустить патч в рамках ноябрьского «вторника обновлений», однако на этапе тестирования исправления были обнаружены некие проблемы, так что патч перенесли на январь 2021 года.
Как известно, специалисты Google Project Zero придерживаются строгих правил и всегда отводят компаниям и разработчикам 90 дней на исправление уязвимостей. Поскольку теперь Microsoft сообщила, что патч выйдет лишь в январе, компания не уложилась в срок, и информацию об уязвимости придали огласке. Стоун подчеркивает, что это решение продиктовано тем, что хакеры уже использовали эту проблему в прошлом, знакомы с ней и теперь могут эксплуатировать ее снова.