Исследователь Google Project Zero нашел новый класс багов в Windows

Исследователь Google Project Zero нашел новый класс багов в Windows

Исследователь Google Project Zero нашел новый класс багов в Windows

Джеймс Форшоу, один из «этичных хакеров» проекта Google Project Zero, обнаружил новый класс уязвимостей, которые затрагивают драйверы Windows уровня ядра. В случае успешной эксплуатации эти бреши обеспечат злоумышленнику эскалацию привилегий.

Уязвимости присутствуют из-за отсутствия необходимых проверок во время обработки специфических запросов. Windows использует поля PreviousMode для установки UserMode или KernelMode — следовательно, определяет, поступили ли аргументы вызова от надежного или ненадежного источника.

Этот же механизм используется для создания и открытия файлов, где код уровня ядра может выбрать из различных функций API, включая функцию IopCreateFile. В этом случае PreviousMode назначается специальной переменной, чтобы определить, проверять ли параметры на валидность.

Windows также использует эту переменную для проверки привилегий, если это UserMode. Таким образом, параметр Options в IopCreateFile становится доступным для API-функций, которые могут быть вызваны только из режима ядра — это позволяет установить KernelMode в качестве AccessMode.

Форшоу опубликовал технические детали уязвимости, с которыми можно ознакомиться по этой ссылке.

Microsoft в курсе данной проблемы, разработчики пообещали устранить ее в будущих наборах патчей для Windows.