Описание CVE-2024-42327
Уязвимость CVE-2024-42327 связана с функцией addRelatedObjects класса CUser, которая вызывается из метода CUser.get.
Проблема особенно опасна тем, что для её эксплуатации не обязательно иметь административную учётную запись. Потенциальный злоумышленник должен быть авторизован в Zabbix и иметь роль, которой разрешён доступ к API.
Подробная информация об уязвимости опубликована в системе отслеживания ошибок Zabbix.
Чем опасна CVE-2024-42327
SQL-инъекция позволяет вмешиваться в запросы, которые приложение отправляет к базе данных. В случае успешной эксплуатации последствия зависят от конфигурации Zabbix, используемой СУБД и прав пользователя базы данных.
Для системы мониторинга это особенно серьёзная проблема, поскольку в базе Zabbix хранится большое количество информации об инфраструктуре:
- список контролируемых серверов и сетевых устройств;
- IP-адреса и DNS-имена;
- параметры мониторинга;
- учётные записи Zabbix;
- макросы и другие параметры конфигурации;
- история мониторинга и события;
- настройки действий и уведомлений.
Поэтому компрометация базы данных Zabbix может раскрыть злоумышленнику значительный объём информации о внутренней инфраструктуре организации.
Кто может эксплуатировать уязвимость
Для эксплуатации CVE-2024-42327 злоумышленнику требуется авторизованная учётная запись Zabbix с доступом к API.
Это означает, что речь не идёт о полностью неаутентифицированной атаке через открытый веб-интерфейс. Однако риск остаётся высоким, поскольку доступ к API может быть разрешён обычным пользователям Zabbix.
Другие уязвимости Zabbix
Помимо CVE-2024-42327, были обнаружены и другие серьёзные проблемы безопасности.
CVE-2024-36466
Уязвимость CVE-2024-36466 получила оценку CVSS 8.8.
Проблема связана с механизмом обработки сессий Zabbix и при определённых условиях позволяет сформировать поддельную сессию zbx_session и получить несанкционированный доступ.
CVE-2024-36462
Уязвимость CVE-2024-36462 получила оценку CVSS 7.5.
Она связана с неконтролируемым потреблением ресурсов и может использоваться для создания условий отказа в обслуживании — DoS.
Какие версии Zabbix затронуты
Для CVE-2024-42327 уязвимыми являются следующие версии:
- Zabbix 6.0.0–6.0.31;
- Zabbix 6.4.0–6.4.16;
- Zabbix 7.0.0.
Если в инфраструктуре используется одна из этих версий, необходимо запланировать обновление.
Проверить установленную версию Zabbix Server можно командой:
zabbix_server --version
Также версию можно посмотреть в веб-интерфейсе Zabbix.
В каких версиях исправлена CVE-2024-42327
Исправление было подготовлено для следующих веток Zabbix:
- 6.0.32 и новее;
- 6.4.17 и новее;
- 7.0.1 и новее.
Администраторам рекомендуется обновиться как минимум до исправленной версии своей ветки Zabbix.
Что делать администраторам Zabbix
Основная мера защиты — обновление Zabbix до версии, в которой уязвимость исправлена.
Дополнительно рекомендую проверить настройки доступа к API.
Проверяем роли пользователей
Убедитесь, что доступ к API разрешён только тем пользователям и ролям, которым он действительно необходим.
Если обычным пользователям API для работы не требуется, соответствующее разрешение лучше отключить.
Ограничиваем доступ к Zabbix
Если веб-интерфейс Zabbix доступен непосредственно из интернета, стоит дополнительно оценить необходимость такого доступа.
В зависимости от инфраструктуры доступ к административным системам можно ограничить:
- корпоративной сетью;
- VPN;
- межсетевым экраном;
- reverse proxy;
- списками разрешённых IP-адресов.
Это не заменяет установку обновления, но уменьшает поверхность атаки.
Проверяем установленную версию
На сервере выполните:
zabbix_server --version
Если используется Proxy, его версию можно проверить отдельно:
zabbix_proxy --version
После этого сравните установленную версию с информацией о затронутых и исправленных выпусках.
Как обновить Zabbix
Перед установкой обновлений обязательно сделайте резервную копию базы данных и основных конфигурационных файлов Zabbix.
Если используется Zabbix 6.0 и планируется переход на новую основную версию, у меня есть отдельная пошаговая инструкция: Как обновить Zabbix с версии 6.0 до 7.0 LTS.
Риски эксплуатации уязвимостей
Если оставить уязвимую версию Zabbix без обновления, возможные последствия включают:
- несанкционированный доступ к данным Zabbix;
- изменение данных в базе в пределах доступных злоумышленнику возможностей;
- компрометацию информации о контролируемой инфраструктуре;
- нарушение работы системы мониторинга;
- отказ в обслуживании при эксплуатации соответствующих уязвимостей.
Особенно внимательно к проблеме стоит отнестись организациям, у которых веб-интерфейс Zabbix доступен из внешней сети.
Часто задаваемые вопросы
Что такое CVE-2024-42327?
CVE-2024-42327 — критическая уязвимость Zabbix Frontend, позволяющая авторизованному пользователю с доступом к API выполнить SQL-инъекцию через уязвимый API-метод.
Насколько опасна CVE-2024-42327?
Уязвимость получила оценку CVSS 9.9 из 10, поэтому относится к критическим проблемам безопасности.
Можно ли использовать CVE-2024-42327 без учётной записи Zabbix?
Для эксплуатации требуется авторизованный пользователь, роль которого разрешает доступ к API Zabbix.
Какие версии Zabbix уязвимы?
Для CVE-2024-42327 затронуты версии Zabbix 6.0.0–6.0.31, 6.4.0–6.4.16 и 7.0.0.
В каких версиях исправлена CVE-2024-42327?
Исправление присутствует начиная с Zabbix 6.0.32, 6.4.17 и 7.0.1 соответствующих веток.
Достаточно ли просто закрыть Zabbix от интернета?
Нет. Ограничение сетевого доступа уменьшает поверхность атаки, но не устраняет саму уязвимость. Основной способ защиты — установка исправленной версии Zabbix.
Нужно ли отключать Zabbix API?
Если API используется, полностью отключать его не обязательно. Но стоит проверить роли пользователей и оставить доступ только тем учётным записям, которым он действительно требуется.
Заключение
CVE-2024-42327 — серьёзная уязвимость Zabbix с оценкой CVSS 9.9, позволяющая авторизованному пользователю с доступом к API выполнить SQL-инъекцию.
Администраторам Zabbix следует проверить установленную версию системы и установить исправление. Дополнительно стоит пересмотреть доступ пользователей к API и ограничить внешний доступ к веб-интерфейсу Zabbix там, где он не требуется.
Как и в случае с другими критическими уязвимостями, сетевые ограничения являются лишь дополнительной защитой и не заменяют своевременное обновление системы.
Если вы используете Zabbix 6.0 и планируете переход на следующую LTS-версию, смотрите инструкцию Как обновить Zabbix с версии 6.0 до 7.0 LTS.