CVE-2021-38647

Microsoft Open Management Infrastructure (OMI)

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

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

2021-11-03

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

Microsoft Open Management Infrastructure (OMI) within Azure VM Management Extensions contains an unspecified vulnerability allowing remote code execution.

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

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

Уязвимость (OMIGOD) — это уязвимость удаленного выполнения кода (RCE) в агенте OMI, который автоматически развертывается на виртуальных машинах Linux в Azure при использовании определенных расширений (например, для Log Analytics, Azure Automation, Azure Desired State Configuration). Злоумышленник, имеющий сетевой доступ к порту, на котором слушает OMI (по умолчанию TCP/5985, 5986, 1270), может отправить специально созданный пакет и выполнить произвольный код с привилегиями root.

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

Необходимо обновить пакет omi до исправленной версии.

1. Определите текущую версию OMI:

omi --version

2. Обновите пакет omi в зависимости от дистрибутива: Уязвимы версии ниже: * OMI < 1.6.8-1 (для большинства дистрибутивов)

Для Ubuntu/Debian:

# Обновите репозитории и установите исправленную версию
sudo apt-get update
sudo apt-get install --only-upgrade omi

Для RHEL/CentOS 7/8, Rocky Linux, AlmaLinux:

sudo yum update omi

Или, если используется dnf:

sudo dnf update omi

Для SUSE Linux Enterprise Server (SLES):

sudo zypper update omi

3. Перезапустите демон OMI:

sudo systemctl restart omid

4. Проверьте, что обновление применилось:

omi --version
# Убедитесь, что версия не ниже 1.6.8-1

Для виртуальных машин Azure: Исправление также распространяется через обновления расширений виртуальных машин. Убедитесь, что расширения (например, OmsAgentForLinux) обновлены до последних версий.

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

Если немедленное обновление невозможно, примите следующие меры для снижения риска:

  1. Ограничьте сетевой доступ к портам OMI: Настройте группы безопасности сети (NSG) в Azure или локальный брандмауэр (iptables, firewalld), чтобы разрешить входящие подключения к портам OMI только с доверенных IP-адресов (например, с jump-хостов или систем управления). Пример для firewalld: bash # Запретить все входящие на порты по умолчанию sudo firewall-cmd --permanent --remove-port=5985/tcp sudo firewall-cmd --permanent --remove-port=5986/tcp sudo firewall-cmd --permanent --remove-port=1270/tcp # Разрешить только с конкретного IP sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="<ВАШ_ДОВЕРЕННЫЙ_IP>" port port="5985" protocol="tcp" accept' sudo firewall-cmd --reload

  2. Используйте Web Application Firewall (WAF): Если OMI доступен из интернета, разместите перед сервисом WAF (например, Azure WAF) с правилами, блокирующими известные эксплойты для CVE-2021-38647.

  3. Остановите и отключите службу OMI (крайняя мера): Это нарушит работу зависимых расширений Azure. bash sudo systemctl stop omid sudo systemctl disable omid Внимание: Это временное решение. Перед отключением службы оцените, какие сервисы (мониторинг, автоматизация) перестанут работать.