
cldflt.sys уязвимость раскрытия информации (KB5034765 - KB5035853, Win 11).
Небольшая заметка о CVE-2024-26160, которая была закрыта в февральском обновлении (KB5034765, Windows 11 22H2, Windows 11 23H2). Уязвимость была устранена в мартовском обновлении (KB5035853).
Уязвимость находится в функции CldiPortProcessGetRangeInfo, которая не проверяет размер буфера, передаваемого из пользовательского приложения. Поскольку размер может контролироваться пользователем, memmove, копирующая возвращаемую информацию, может захватить соседний пул памяти, содержащий адреса ядра, если размер передан правильно.


Мартовское обновление (KB5035853) вводит дополнительную проверку размера буфера.

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

Важно передать тип сообщения, чтобы вызвать утечку.

Если пакет данных сформирован правильно, мы увидим утечку адресов.
