Zabbix 6.0.48, 7.0.29 и 7.4.13 закрывают шесть уязвимостей, включая чтение памяти при JavaScript-препроцессинге

zabbix

Шесть уязвимостей в системе мониторинга Zabbix получили исправления во всех поддерживаемых ветках. Проблемы затрагивают сервер, прокси и веб-интерфейс, а последствия варьируются от отказа в обслуживании до чтения чужих данных и подмены сведений о состоянии хостов. Оценки по шкале CVSS 4.0 укладываются в диапазон от 2,3 до 6,9, поэтому критического среди находок нет. Накопленный эффект всё равно ощутим: Zabbix часто разворачивают там, где через него проходит управление всей инфраструктурой, и уязвимость в панели мониторинга открывает доступ к обзору чужих систем. Затронуты версии 6.0.x до 6.0.48, 7.0.x до 7.0.29 и 7.4.x до 7.4.13.

Детали уязвимостей

Самую высокую оценку, 6,9, получила ошибка в предварительной обработке данных на JavaScript (CVE-2026-59782). Движок Duktape, который Zabbix использует для вычислений над поступающими метриками, выходит за границы выделенного буфера, и администратор с ограниченными правами может прочитать необработанные данные из области динамической памяти, то есть из кучи. Речь идёт не о своём, а о чужом содержимом: там оседают фрагменты других задач предварительной обработки, к которым этот администратор доступа не имеет. Достаточно прав на создание правил обработки в веб-интерфейсе, полный контроль над сервером не нужен. Утечка грозит раскрытием токенов, параметров подключения и другой служебной информации, которую операторы закладывают в вычисляемые метрики. Ошибка затрагивает сервер и прокси, а исправления вышли во всех трёх ветках.

Рядом по оценке стоит другая проблема - отсутствие проверки TLS при обработке сигналов активности агентов (CVE-2026-59786). Сервер и прокси принимают сообщения heartbeat, которыми активный агент подтверждает, что он работает, независимо от настроенной аутентификации по предварительно разделяемому ключу или по сертификату. Любой, у кого есть сетевой доступ к порту trapper, через который Zabbix принимает данные от агентов, способен отправить поддельный сигнал и объявить произвольный хост доступным. Мониторинг в этом случае показывает работающий узел там, где его нет, а это уже нарушение целостности: дежурная смена видит нормальный статус и не реагирует на реальный сбой. Ошибка появилась в ветках 7.0 и 7.4, пользователей 6.0 она не касается.

Третья по значимости проблема связана с поиском по хостам (CVE-2026-59785). Интерфейс позволяет фильтровать список по полям, которые на экране не отображаются, включая сохранённые учётные данные IPMI (интерфейса управления серверами) и PSK (предварительно разделяемых ключей). Пользователь с правом чтения может подставить предполагаемое значение, отправить запрос и по результату понять, угадал он или нет. Подбор по одному значению за раз идёт небыстро, но при слабом или шаблонном ключе заканчивается успехом. Оценка 5,1 отражает скорее ограниченные права атакующего, чем безобидность последствий. Уязвимы все три поддерживаемые ветки.

Ещё одна ошибка кроется в поставляемом вместе с Zabbix Perl-скрипте для приёма SNMP-ловушек (CVE-2026-59787). Он не обезвреживает разделитель записей ZBXTRAP внутри содержимого ловушки. Тот, кто может отправлять SNMP-ловушки в адрес приёмника, способен подмешать запись, приписанную другому хосту, и целостность данных снова пострадает. Оценка 5,3. Здесь важна деталь, которую легко упустить: обновления недостаточно. Развёрнутый на диске файл приёмника нужно заменить исправленной версией вручную, иначе сценарий останется уязвимым даже после установки новой сборки.

Проблема с межсайтовым скриптингом закрыта только в ветке 7.4 (CVE-2026-59788). Форма OAuth (протокола авторизации) в настройках типа оповещения передаёт адрес точки авторизации в новое окно браузера, не проверяя схему ссылки. В результате адрес вида javascript: исполняется в браузере. Сценарий требует, чтобы супер-администратор импортировал подготовленный злоумышленником файл конфигурации типа оповещения и подтвердил согласие, после чего произвольный JavaScript выполняется от его имени. Оценка чуть выше 5,5 - низкая из-за необходимости активных действий жертвы, но права супер-администратора делают результат тяжёлым: под угрозой настройки доступа и подключённые интеграции. Исправление вошло в 7.4.12.

Самая скромная по оценке ошибка, 2,3, приводит к отказу в обслуживании (CVE-2026-59783). Элементы данных бинарного типа при определённом нулевом байте на входе роняют сервер или прокси. Условие сужает круг пострадавших: проблема проявляется только там, где в качестве базы данных Zabbix работает MySQL или MariaDB. Атакующему нужен доступ к порту trapper, чтобы отправить подготовленные данные. В ветке 6.0 ошибки нет. Если обновление откладывается, можно временно отключить сбор данных по бинарным элементам, которые получают значения из недоверенных источников.

Все шесть уязвимостей исправлены в версиях 6.0.48, 7.0.29 и 7.4.13. Для проблемы с межсайтовым скриптингом достаточно 7.4.12, поскольку она касается только этой ветки. Пользователям, у которых развёрнут Perl-приёмник SNMP-ловушек, придётся отдельно заменить скрипт на исправленный. Остальным хватит обновления компонентов сервера, прокси и веб-интерфейса.

Все находки опубликованы 5 октября 2026 года и поступили через программу вознаграждений за ошибки на платформе HackerOne. Такая концентрация отчётов в одной системе мониторинга не случайна: подобные платформы хранят учётные данные к десяткам сервисов и видят всю сеть целиком. Именно поэтому права администратора Zabbix стоит пересматривать так же строго, как права домена, а порт trapper держать открытым только для доверенных сетей. Обновление закрывает известные ошибки, но не отменяет этих мер.

Ссылки

Комментарии: 0