CVE-2013-3900

Microsoft WinVerifyTrust function

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

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

2022-01-10

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

A remote code execution vulnerability exists in the way that the WinVerifyTrust function handles Windows Authenticode signature verification for PE files.

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

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

Уязвимость (CVE-2013-3900) в функции WinVerifyTrust позволяет удаленно выполнить код. Атакующий может создать специально сформированный исполняемый файл (PE-файл) с поддельной цифровой подписью Authenticode. Когда система (например, через Internet Explorer или проводник Windows) проверяет подлинность такого файла с помощью уязвимой функции, возникает переполнение буфера, что приводит к выполнению произвольного кода злоумышленника с правами текущего пользователя.

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

Установите официальный патч от Microsoft через Центр обновления Windows. Конкретный номер обновления зависит от вашей версии ОС:

  • Windows Vista, 7, 8, 8.1, Server 2008, 2008 R2, 2012, 2012 R2: Установите обновление безопасности MS13-098.
  • Ключевой номер базы знаний (KB): KB2893294.
  • Проверка установки: Откройте командную строку от имени администратора и выполните: bash wmic qfe list | findstr "2893294" Если обновление установлено, команда вернет строку с его номером.

Временное решение

Если немедленная установка патча невозможна, примените временное решение, которое отключает проверку усеченных атрибутов PKCS#7 в подписях Authenticode. Это блокирует вектор атаки.

  1. Включите обходной путь через реестр (требует прав администратора):

    • Откройте редактор реестра (regedit).
    • Перейдите к разделу: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Wintrust\Config.
    • Измените или создайте DWORD (32-бита) параметр с именем EnableCertPaddingCheck.
    • Установите его значение равным 1.
    • Перезагрузите систему.

    Команда для быстрого применения через командную строку (администратор): bash reg add "HKLM\SOFTWARE\Microsoft\Cryptography\Wintrust\Config" /v EnableCertPaddingCheck /t REG_DWORD /d 1 /f После выполнения команды перезагрузите компьютер.

  2. Дополнительные меры:

    • Настройте правила в имеющемся межсетевом экране (Firewall) или системе предотвращения вторжений (IPS) для блокировки передачи исполняемых файлов (.exe, .dll, .scr и т.д.) из ненадежных источников.
    • Информируйте пользователей о запрете на запуск исполняемых файлов, полученных из непроверенных источников (электронная почта, веб-сайты).

Важно: Временное решение является обходным путем и не заменяет установку официального патча. Установите обновление KB2893294 при первой возможности.