В начале текущей недели ИБ-специалист, известный под псевдонимом SandboxEscaper, опубликовал в Twitter информацию о неисправленной уязвимости в Windows и предоставил ссылку на proof-of-concept эксплоит.
Обнаруженный баг — это локальное повышение привилегий, которое позволяет атакующему повысить права своей малвари от Guest или User до уровня SYSTEM. Вскоре информацию о проблеме подтвердил специалист CERT/CC Уилл Дорманн (Will Dormann), сообщив, что эксплоит работает на полностью пропатченной Windows 10. Уязвимость была добавлена в базу CERT/CC, а Дорманн рассказал, что баг связан с работой Windows Task Scheduler, а именно механизма Advanced Local Procedure Call (ALPC).
Изначально сообщалось, что перед проблемой уязвимы 64-разрядные версии Windows 10 и Windows Server 2016 и, скорее всего, другие ОС семейства Windows 64-разрядных версий, но для атаки на них понадобится внести изменения в код эксплоита.
Теперь выяснилось, что уязвимость представляет опасность и для 32-разрядных ОС. Уилл Дорманн и Кевин Бомонт (Kevin Beaumont) сумели изменить код эксплоита таким образом, чтобы тот работал против любых версий Windows.
I can't imagine too many people are interested, but I can confirm that with minor tweaks the public exploit code for the Windows Task Manager ALPC vul works on 32-bit Windows 10 as well. pic.twitter.com/1pf2JU6D2o
— Will Dormann (@wdormann) August 28, 2018
Так как SandboxEscaper раскрыл данные о проблеме через Twitter и перед этим не уведомлял об уязвимости разработчиков, официального патча для бага пока нет. Вероятно, официальное исправление выйдет не раньше 11 сентября, то есть очередного «вторника обновлений».
Однако о проблеме уже позаботились сторонние специалисты – инженеры компании Acros Security. Временный патч (или микропатч) для уязвимости в Task Scheduler ALPC был представлен в составе их продукта 0patch. 0patch – это платформа, предназначенная как раз для таких ситуаций, то есть исправления 0-day и других непропатченных уязвимостей, для поддержки продуктов, которые уже не поддерживаются производителями, кастомного софта и так далее.
В настоящее время исправление выпущено для 64-разрядной версии Windows 10 (v1803), а завтра, 31 августа 2018 года, должен выйти микропатч для Windows Server 2016. Также завтра будет опубликован детальный разбор исправлений, содержащий исходные коды и все необходимые подробности.
Blog post is in the making but for the impatient, here's the source code of our micropatch. Three patchlets, one calling RpcImpersonateClient, one removing a premature call to RpcRevertToSelf, and one adding a RpcRevertToSelf call where it should be. Just 4 instructions. pic.twitter.com/PtgsPJiiSO
— 0patch (@0patch) August 30, 2018
Нужно отметить, что специалисты Acros Security не в первый раз опережают инженеров Microsoft, выпуская неофициальные патчи для Windows. Так, в 2017 году разработчики 0patch аналогичным образом устранили уязвимость в Windows GDI.