CVE-2018-19321

GIGABYTE Multiple Products

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

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

2022-10-24

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

The GPCIDrv and GDrv low-level drivers in GIGABYTE App Center, AORUS Graphics Engine, XTREME Gaming Engine, and OC GURU II expose functionality to read and write arbitrary physical memory. This could be leveraged by a local attacker to elevate privileges.

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

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

Уязвимость CVE-2018-19321 связана с небезопасной реализацией функций в низкоуровневых драйверах GPCIDrv.sys и GDrv.sys, которые входят в состав программного обеспечения GIGABYTE. Драйверы предоставляют интерфейс для чтения и записи произвольной физической памяти (Arbitrary Physical Memory Read/Write).

Локальный злоумышленник с низкими привилегиями может отправить специально сформированные IOCTL-запросы к этим драйверам, что позволяет обойти механизмы защиты ОС (такие как Driver Signature Enforcement), внедрить вредоносный код в пространство ядра и полностью скомпрометировать систему, повысив свои права до уровня NT AUTHORITY\SYSTEM.

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

Основным способом устранения является полное удаление уязвимого программного обеспечения и установка обновленных версий, в которых данные драйверы заменены или исправлены.

  1. Удалите через «Установку и удаление программ» следующие приложения (если они установлены):
  2. GIGABYTE App Center
  3. AORUS Graphics Engine
  4. XTREME Gaming Engine
  5. OC GURU II

  6. Очистите остатки драйверов в системных директориях. Выполните в PowerShell от имени администратора:

Remove-Item -Path "C:\Windows\gdrv.sys" -Force -ErrorAction SilentlyContinue

Remove-Item -Path "C:\Windows\gpcidrv.sys" -Force -ErrorAction SilentlyContinue

  1. Скачайте последние версии утилиты GIGABYTE Control Center (GCC) или обновленные версии конкретных программ с официального сайта поддержки GIGABYTE. Производитель выпустил патчи, блокирующие прямой доступ к физической памяти через указанные интерфейсы.

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

Если немедленное обновление ПО невозможно, необходимо ограничить возможность эксплуатации уязвимости:

  1. Принудительное завершение процессов и остановка служб, использующих драйвер:
Stop-Service -Name "gdrv" -Force -ErrorAction SilentlyContinue

  1. Включение функции HVCI (Hypervisor-Protected Code Integrity) в Windows (Memory Integrity / Целостность памяти). Это предотвращает загрузку драйверов с известными уязвимостями в пространство ядра. Путь в интерфейсе: Параметры Windows -> Обновление и безопасность -> Безопасность Windows -> Безопасность устройства -> Изоляция ядра.

  2. Использование черного списка драйверов Microsoft (Microsoft Driver Blocklist). Убедитесь, что в системе включена функция блокировки уязвимых драйверов:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\CI\Config" /v "VulnerableDriverBlocklistEnable" /t REG_DWORD /d 1 /f

  1. Ограничение прав доступа: Убедитесь, что на рабочих станциях пользователи не обладают правами локального администратора, так как для взаимодействия с объектом устройства драйвера часто требуются повышенные привилегии, что затрудняет первичный этап атаки.