CVE-2020-3950
VMware Multiple Products
2021-11-03
VMware Fusion, Remote Console (VMRC) for Mac, and Horizon Client for Mac contain a privilege escalation vulnerability due to improper use of setuid binaries that allows attackers to escalate privileges to root.
Технический анализ и план устранения
Суть уязвимости
Уязвимость (CVE-2020-3950) в VMware Fusion, VMRC для Mac и Horizon Client для Mac позволяет локальному злоумышленнику повысить свои привилегии до уровня суперпользователя (root). Это происходит из-за некорректной реализации или использования setuid-бинарных файлов, которые неправильно проверяют права доступа при выполнении.
Как это может использовать хакер: 1. Получив начальный доступ к системе (например, как обычный пользователь), злоумышленник запускает специально созданный эксплойт. 2. Эксплойт использует ошибку в setuid-программе, входящей в состав уязвимого ПО VMware. 3. В результате программа выполняет команды от имени пользователя root, что дает злоумышленнику полный контроль над системой.
Как исправить
Установите обновленную версию ПО от VMware, в которой уязвимость устранена. Обновление является единственным надежным решением.
Конкретные версии с патчем: * VMware Fusion (11.x): Обновитесь до версии 11.5.2 или новее. * VMware Remote Console (VMRC) для Mac (11.x): Обновитесь до версии 11.0.1 или новее. * VMware Horizon Client для Mac (5.x): Обновитесь до версии 5.4.2 или новее.
Процедура обновления: 1. Скачайте последнюю версию продукта с официального портала VMware. 2. Запустите установщик и следуйте инструкциям на экране для обновления. 3. После установки перезагрузите компьютер Mac.
Временное решение
Если немедленное обновление невозможно, можно временно ограничить риск, удалив или изменив права доступа на уязвимые setuid-бинарные файлы. Внимание: Это может нарушить работу VMware Fusion, VMRC или Horizon Client.
Шаги для временного решения: 1. Определите местоположение и права уязвимых файлов (обычно это исполняемые файлы VMware с установленным битом setuid). 2. Снимите бит setuid с этих файлов. Это предотвратит их выполнение с правами root.
```bash
# Пример. Сначала найдите файлы, связанные с VMware, у которых установлен бит setuid.
# Выполните команду от имени пользователя root (используйте sudo -i).
find /Applications -type f -user root -perm -4000 -name "*vmware*" 2>/dev/null
find /usr/local -type f -user root -perm -4000 -name "*vmware*" 2>/dev/null
# Для каждого найденного уязвимого файла (например, /path/to/vmware-bin) снимите бит setuid:
sudo chmod u-s /path/to/vmware-bin
```
- Убедитесь, что изменения вступили в силу:
bash ls -la /path/to/vmware-binВ правах доступа не должно быть-rws------, а должно быть-rwx------.
Важно: Это временная мера. Полноценную защиту обеспечивает только установка официального патча от VMware. После применения временного решения функциональность VMware-продуктов может быть ограничена.