CVE-2019-15752
Docker Desktop Community Edition
2021-11-03
Docker Desktop Community Edition contains a vulnerability that may allow local users to escalate privileges by placing a trojan horse docker-credential-wincred.exe file in %PROGRAMDATA%\DockerDesktop\version-bin\.
Технический анализ и план устранения
Суть уязвимости
Уязвимость связана с неправильной проверкой прав доступа к каталогу %PROGRAMDATA%\DockerDesktop\version-bin\ в Windows. Локальный злоумышленник с правами на запись в эту директорию может подменить легитимный исполняемый файл docker-credential-wincred.exe своей вредоносной версией. Когда Docker Desktop или пользователь с более высокими привилегиями запустит этот файл, злонамеренный код выполнится с повышенными правами, что приведет к эскалации привилегий.
Как исправить
Установите обновленную версию Docker Desktop, в которой данная уязвимость исправлена.
-
Для Windows:
- Обновите Docker Desktop Community до версии 2.1.0.1 или выше.
- Скачайте установщик с официального сайта: https://www.docker.com/products/docker-desktop
- Запустите установщик. Он автоматически обновит существующую версию.
-
Проверка текущей версии: Откройте Docker Desktop, кликните на значок Docker в системном трее, выберите "About Docker Desktop". Убедитесь, что версия не ниже
2.1.0.1.
Временное решение
Если немедленное обновление невозможно, ограничьте права доступа к уязвимому каталогу, чтобы запретить неавторизованную запись.
-
Измените права доступа (ACL) для каталога
version-bin:- Откройте командную строку (
cmd) или PowerShell от имени Администратора. - Выполните следующую команду, чтобы удалить разрешения на запись для всех пользователей, кроме
SYSTEMиАдминистраторов:
powershell icacls "%PROGRAMDATA%\DockerDesktop\version-bin" /reset icacls "%PROGRAMDATA%\DockerDesktop\version-bin" /grant "SYSTEM:(OI)(CI)F" /grant "Администраторы:(OI)(CI)F" /inheritance:r- Пояснение команды:
/reset— сбрасывает все существующие права./grant "SYSTEM:(OI)(CI)F"— дает полный контроль (F) системе./grant "Администраторы:(OI)(CI)F"— дает полный контроль администраторам./inheritance:r— отключает наследование разрешений от родительской папки.
- Откройте командную строку (
-
Проверка прав: После выполнения команд проверьте результат:
powershell icacls "%PROGRAMDATA%\DockerDesktop\version-bin"В списке должны остаться толькоNT AUTHORITY\SYSTEMиBUILTIN\Administrators.