Во вторник стало известно о серьезной ошибке в Windows 10. Уязвимость CVE-2018-0826 позволяет установить произвольные атрибуты доступа к файлу при использовании процедуры SvcMoveFileInheritSecurity.

Проблема возникает при перемещении объекта в другой каталог. Операционная система выставляет файлу те же привилегии, что и у целевой директории. При этом атрибуты меняются на новые, даже если перенос не увенчался успехом. Уязвимость позволяет злоумышленнику размещать вредоносное ПО в любых папках Windows, включая системные.

Проблема связана с неправильной обработкой жесткой ссылки — важного элемента структуры файла, описывающего его принадлежность к одной или нескольким папкам. При перемещении объекта жесткая ссылка изменяется, но при отмене операции откат к исходному состоянию происходит некорректно.

Ошибка возникает в ходе выполнения процедуры SvcMoveFileInheritSecurity. При попытке переноса файла из папки с ограничением «только для чтения» в пользовательский каталог он наследует атрибуты целевой директории, несмотря на то, что перемещение не может быть осуществлено. В результате коллизии злоумышленник получает полные права на работу с объектом, который находится в каталоге с ограниченным доступом.

Уязвимость обнаружил еще 10 ноября 2017 года специалист лаборатории Google Project Zero Джеймс Форшоу (James Forshaw). Он немедленно сообщил Microsoft о выявленной проблеме. Исследователь также передал вендору эксплойт, который устанавливает целевому файлу расширенные атрибуты доступа.

Команда разработчиков Windows приняла ошибку к исправлению, однако закрыла ее лишь частично; этот патч был включен в февральский набор обновлений. Форшоу сформировал два тикета, которые описывали эту проблему. Сообщения 1427 и 1428 отличаются друг от друга функциями процедуры SvcMoveFileInheritSecurity, которые приводят к эскалации привилегий. По истечении 90-дневного срока Microsoft сумела отработать только тикет 1427, поэтому информация об уязвимости была выложена в открытый доступ.

Проблема касается Windows 10 и не затрагивает предыдущие версии операционной системы. ИБ-эксперты тестировали ее на сборке 1709. Microsoft признала ошибку серьезной, но не критической. Брешь позволяет пользователю с обычными правами получить привилегии администратора, однако выполнить вредоносный код извне в рамках этой уязвимости невозможно.

Категории: Аналитика, Уязвимости