Вчера Microsoft выпустила плановые исправления безопасности, среди которых описана потенциально опасная уязвимость в RDP. Многие СМИ и эксперты по безопасности уже спрогнозировали появление нового червя для Windows систем.
Давайте более подробно рассмотрим исправление безопасности MS12-020.
Итак, в бюллетене было устранено 2 уязвимости CVE-2012-0002 (выполнение произвольного кода) и CVE-2012-0152 (отказ в обслуживании).
Беглый анализ патча к CVE-2012-0002 для Windows XP показал следующий результат:
Уязвимый драйвер: rdpwd.sys
Уязвимая функция (?):HandleAttachUserReq()
Бинарный анализ старого и нового файла:
Единственное существенное изменение было внесено в код функции HandleAttachUserReq(), как показано на рисунке. А именно, добавлен вызов функции ExFreePoolWithTag, которая освобождает выделенную память. Т.е. в драйвере наблюдается утечка памяти, которая должна привести к выполнению кода, только пока не понятно как именно…
Я обновлю пост, когда будут более интересные данные по этой уязвимости.