CVE-2012-4792

Microsoft Internet Explorer

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2024-07-23

Официальное описание

Microsoft Internet Explorer contains a use-after-free vulnerability that allows a remote attacker to execute arbitrary code via a crafted web site that triggers access to an object that (1) was not properly allocated or (2) is deleted, as demonstrated by a CDwnBindInfo object.

🛡️
Технический анализ и план устранения

Суть уязвимости

CVE-2012-4792 представляет собой критическую уязвимость класса Use-After-Free (использование памяти после освобождения) в движке MSHTML браузера Internet Explorer. Проблема возникает при обработке объектов CDwnBindInfo.

Злоумышленник может создать специальную веб-страницу, которая манипулирует DOM-деревом таким образом, что объект удаляется из памяти, но указатель на него сохраняется. При последующей попытке обращения к этому «висячему» указателю происходит обращение к освобожденному участку памяти. Если атакующий успел заполнить этот участок своим кодом (Heap Spraying), это приводит к повреждению памяти и выполнению произвольного кода (RCE) с правами текущего пользователя.

Как исправить

Основным способом устранения является установка официального накопительного обновления безопасности от Microsoft (MS13-008), которое исправляет логику управления жизненным циклом объектов в памяти.

Для систем, находящихся на поддержке, необходимо выполнить установку через Центр обновления Windows или вручную:

  1. Скачайте пакет обновления MS13-008 для вашей версии ОС и IE из каталога обновлений Microsoft.
  2. Установите обновление.
  3. Перезагрузите систему.

Для проверки версии установленного файла mshtml.dll (она должна быть выше версий, указанных в бюллетене) используйте команду:

Get-Item C:\Windows\System32\mshtml.dll | Select-Object VersionInfo

Временные меры

Если немедленная установка патча невозможна, рекомендуется применить следующие защитные механизмы:

1. Использование Fix it решения от Microsoft Примените автоматическое исправление (Shim), которое предотвращает эксплуатацию данной конкретной ошибки в памяти.

2. Развертывание EMET (Enhanced Mitigation Experience Toolkit) Настройте принудительное использование функций защиты памяти, таких как DEP (Data Execution Prevention) и ASLR (Address Space Layout Randomization) для процесса iexplore.exe.

3. Настройка зон безопасности Установите уровень безопасности для зон «Интернет» и «Местные сети» на «Высокий», чтобы заблокировать выполнение ActiveX и активных сценариев (Active Scripting).

4. Ограничение доступа к mshtml.dll В качестве экстренной меры можно установить запрет на чтение/выполнение библиотеки для определенных групп, однако это нарушит работу браузера:

cacls %SystemRoot%\System32\mshtml.dll /E /P everyone:N

5. Переход на альтернативный браузер До момента установки патча рекомендуется использовать браузеры, не использующие движок MSHTML (например, актуальные версии Google Chrome или Mozilla Firefox).