В минувшие выходные эксперты Google Project Zero Тевис Орманди (Tavis Ormandy) и Натали Сильванович (Natalie Silvanovich) предупредили, что в составе практически всех актуальных на сегодня версий Windows была обнаружена «безумно скверная» RCE-уязвимость. При этом специалисты не раскрывали подробностей, но сообщали, что для эксплуатации бага не потребуется установка дополнительного ПО, то есть было ясно, что атака работает даже на чистой установке Windows. Хуже того, сообщалось, что проблема обладает потенциалом червя.
.@natashenka Attack works against a default install, don't need to be on the same LAN, and it's wormable. ?
— Tavis Ormandy (@taviso) May 6, 2017
Хотя предупреждение экспертов поступило накануне «вторника обновлений», разработчики Microsoft выпустили патч для опасной проблемы отдельно, не дожидаясь 9 мая 2017 года. Вслед за исправлением появилась и информация об уязвимости, получившей идентификатор CVE-2017-0290.
Как оказалось, уязвимость обнаружили в составе Microsoft Malware Protection Engine (MsMpEng), то есть движка, который лежит в сердце таких защитных решений, как Windows Defender, Microsoft Security Essentials, Microsoft Endpoint Protection, Microsoft System Center Endpoint Protection, Windows Intune Endpoint Protection, Microsoft Forefront Security for SharePoint Service Pack 3, Microsoft Forefront Endpoint Protection 2010. Таким образом, проблема в MsMpEng затрагивала Windows 7, 8.1, RT 8.1, 10 и Windows Server 2016, где сервис MsMpEng не только представлен, но работает без песочницы, с привилегиями SYSTEM и включен по умолчанию.
После выхода патча Тевис Орманди пояснил, что в NScript (компонент MsMpEng, который отвечает за «любую сетевую активность или активность файловой системы, которая выглядит как JavaScript») был обнаружен баг типа type confusion. Из-за проблемы NScript неверно интерпретировал некоторые типы JavaScript объектов, что позволяло обманом вынудить MsMpEng выполнить вредоносный код. Орманди пишет, что эксплуатировать проблему можно без всякого взаимодействия с пользователем, в том числе просто прислать жертве email, содержащий эксплоит в теле сообщения, встроить вредоносный JavaScript-код в веб-страницу или поместить его в рекламу.
«Уязвимость в MsMpEng – одна из наиболее серьезных в Windows, за счет привилегий, доступности и повсеместной распространенности сервиса», — пишет Тевис Орманди.
Вместе с подробностями специалисты Google Project Zero опубликовали и proof-of-concept эксплоит, который умещается в один твит:
CVE-2017-0290 is tweetable 🙂
— Natalie Silvanovich (@natashenka) May 9, 2017
var e = new Error();https://t.co/0RDygaVW6B({message : 7 });https://t.co/xkH9SQpNJE
Согласно официальному сообщению Microsoft, первая уязвимая версия Microsoft Malware Protection Engine – это v1.1.13701.0, и проблема была устранена в v1.1.13704.0. Хотя теперь специалисты компании настоятельно рекомендуют пользователям обновиться как можно скорее, также отмечается, что в более свежих версиях ОС эксплуатацию проблемы затрудняет включение Windows CFG (Control Flow Guard).