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.
Как исправить
Основным способом устранения является полное удаление уязвимого программного обеспечения и установка обновленных версий, в которых данные драйверы заменены или исправлены.
- Удалите через «Установку и удаление программ» следующие приложения (если они установлены):
- GIGABYTE App Center
- AORUS Graphics Engine
- XTREME Gaming Engine
-
OC GURU II
-
Очистите остатки драйверов в системных директориях. Выполните в PowerShell от имени администратора:
Remove-Item -Path "C:\Windows\gdrv.sys" -Force -ErrorAction SilentlyContinue
Remove-Item -Path "C:\Windows\gpcidrv.sys" -Force -ErrorAction SilentlyContinue
- Скачайте последние версии утилиты GIGABYTE Control Center (GCC) или обновленные версии конкретных программ с официального сайта поддержки GIGABYTE. Производитель выпустил патчи, блокирующие прямой доступ к физической памяти через указанные интерфейсы.
Временные меры
Если немедленное обновление ПО невозможно, необходимо ограничить возможность эксплуатации уязвимости:
- Принудительное завершение процессов и остановка служб, использующих драйвер:
Stop-Service -Name "gdrv" -Force -ErrorAction SilentlyContinue
-
Включение функции HVCI (Hypervisor-Protected Code Integrity) в Windows (Memory Integrity / Целостность памяти). Это предотвращает загрузку драйверов с известными уязвимостями в пространство ядра. Путь в интерфейсе: Параметры Windows -> Обновление и безопасность -> Безопасность Windows -> Безопасность устройства -> Изоляция ядра.
-
Использование черного списка драйверов Microsoft (Microsoft Driver Blocklist). Убедитесь, что в системе включена функция блокировки уязвимых драйверов:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\CI\Config" /v "VulnerableDriverBlocklistEnable" /t REG_DWORD /d 1 /f
- Ограничение прав доступа: Убедитесь, что на рабочих станциях пользователи не обладают правами локального администратора, так как для взаимодействия с объектом устройства драйвера часто требуются повышенные привилегии, что затрудняет первичный этап атаки.