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) обновлены до последних версий.
Временное решение
Если немедленное обновление невозможно, примите следующие меры для снижения риска:
-
Ограничьте сетевой доступ к портам 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 -
Используйте Web Application Firewall (WAF): Если OMI доступен из интернета, разместите перед сервисом WAF (например, Azure WAF) с правилами, блокирующими известные эксплойты для CVE-2021-38647.
-
Остановите и отключите службу OMI (крайняя мера): Это нарушит работу зависимых расширений Azure.
bash sudo systemctl stop omid sudo systemctl disable omidВнимание: Это временное решение. Перед отключением службы оцените, какие сервисы (мониторинг, автоматизация) перестанут работать.