Вчера вышли внеочередные обновления для 64-битной Windows 7 SP1 и Windows Server 2008 R2, призванные исправить катастрофическую ошибку, которую привнес январский патч для уязвимости CVE-2017-5754, известной как Meltdown. Как оказалось, эта заплатка, перекочевавшая и в февральский набор обновлений, усугубила проблему, открыв другую возможность для кражи и модификации содержимого памяти ядра Windows.

Три дня назад шведский ИБ-эксперт Ульф Фриск (Ulf Frisk) поведал читателям своего блога, что патч, который Microsoft выпустила в начале января, чтобы ограничить эксплойт Meltdown, нечаянно сбросил бит, контролирующий доступ к памяти ядра. В итоге открылась новая брешь, позволяющая любому непривилегированному приложению читать закрытый для него контент со скоростью, измеряемой гигабитами в секунду, а также производить запись в произвольные области памяти ядра.

Как пояснил Фриск, после установки январского патча на Windows 7 этот бит, различающий разрешения для пользователя и ядра (Supervisor), перекинулся на User — это показала автореферентная запись PML4 (карты страниц четвертого уровня). В результате таблицы страниц памяти ядра стали доступными пользовательскому коду в каждом процессе.

PML4 — основной уровень иерархии таблиц страниц, к которым устройство управления памятью процессора обращается при преобразовании виртуальных адресов в физические адреса ОЗУ. На Windows 7 адрес виртуальной памяти, по которому отображается PML4, неизменен, и потому этот справочник отыскивается быстрее, чем, к примеру, в Windows 10, где этот адрес рандомизирован.

По свидетельству Фриска, новоявленная уязвимость, которой был присвоен идентификатор CVE-2018-1038, присутствует лишь в Windows Server 2008 R2 и 64-битных Windows 7, на которых установлены январские и февральские патчи против Meltdown. В марте Microsoft исправила обнаруженную исследователем ошибку, выпустив обновление в рамках «вторника патчей», но, видимо, сочла нужным выпустить дополнительную заплатку, чтобы накрепко заколотить эту лазейку для повышения привилегий.

Согласно бюллетеню, удаленный эксплуатация уязвимости CVE-2018-1038 невозможна. Атакующий должен иметь физический доступ к ПК, чтобы запустить на нем вредоносное приложение.

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