В конце марта 2026 года разработчики популярной системы мониторинга Zabbix выпустили серию обновлений безопасности, закрывающих пять новых уязвимостей, часть из которых оценивается как критические. Данные недостатки затрагивают широкий спектр версий платформы, включая основные ветки 6.0, 7.0, 7.2 и 7.4. Совокупность обнаруженных проблем создаёт комплексную угрозу для корпоративных инфраструктур, позволяя злоумышленникам в определённых условиях получать несанкционированный доступ к конфиденциальным данным, выполнять произвольные команды на сервере и даже проводить атаки с целью удалённого выполнения кода. Это событие вновь привлекает внимание к важности своевременного обновления критически важных компонентов инфраструктурного ПО, от которого зависит бесперебойная работа тысяч компаний по всему миру.
Детали уязвимостей
Центральной и наиболее необычной из обнаруженных проблем стала уязвимость, получившая идентификатор CVE-2026-23919. Её корень кроется в архитектурном решении, принятом для оптимизации производительности. Zabbix Server и Proxy для работы с элементами данных, использующими скрипты, применяют механизм Duktape - это легковесный интерпретатор языка JavaScript. Для ускорения обработки контексты выполнения (execution contexts) этого интерпретатора переиспользуются между разными задачами. Однако недостаточная изоляция этих контекстов привела к тому, что администратор Zabbix с обычными, а не суперпользовательскими правами, мог получить доступ к данным с узлов мониторинга, которые ему не должны быть видны согласно политике разграничения доступа. Проще говоря, выполняя свой скрипт, администратор мог "подсмотреть" глобальные переменные JavaScript, оставшиеся от предыдущей задачи, обрабатывавшей данные с другого сервера. Вендор устранил проблему, сделав встроенные объекты Zabbix в Duktape доступными только для чтения, но отдельно предупредил сообщество об опасности использования глобальных переменных в скриптах предварительной обработки данных. Эта уязвимость, оценённая в 7.1 балла по шкале CVSS, является наглядным примером того, как компромисс в пользу производительности может обернуться серьёзным риском для конфиденциальности.
Другая серьёзная угроза, CVE-2026-23920, связана с недостаточной валидацией вводимых данных в скриптах действий для узлов и событий. Администратор Zabbix может настроить регулярные выражения (regex) для проверки пользовательского ввода в этих скриптах. Проблема заключалась в том, что валидация выполнялась в многострочном режиме. Если администратор использовал в своём регулярном выражении якоря начала (^) и конца ($) строки, атакующий, имеющий учётную запись с правами на выполнение действий, мог добавить в свой ввод символ новой строки. Это позволяло обойти проверку и внедрить произвольные команды операционной системы, которые затем выполнялись на сервере Zabbix. Такая атака, известная как внедрение команд, открывает злоумышленнику практически полный контроль над системой. Уязвимость затронула версии 7.0, 7.2 и 7.4 и была исправлена в релизах 7.0.22, 7.2.15 и 7.4.6 соответственно, получив высокий балл опасности - 7.7.
Не менее опасной оказалась и уязвимость CVE-2026-23921 - слепая внедрение SQL-запросов (SQLi) через API. Пользователь Zabbix с низким уровнем привилегий, но имеющий доступ к программному интерфейсу (API), мог использовать параметр "sortfield" для внедрения произвольных SQL-запросов типа SELECT. Хотя результаты запросов не возвращались напрямую в ответе, атакующий мог применить технику слепого внедрения на основе задержек (time-based). Это означает, что, анализируя время ответа системы, можно было по частям извлечь любые данные из базы данных Zabbix, включая хэши паролей администраторов или идентификаторы сессий. Компрометация учётной записи администратора через такой вектор - лишь вопрос времени и настойчивости злоумышленника. Данная уязвимость получила самый высокий рейтинг среди опубликованных - 8.7 балла, и также была исправлена в обновлениях для веток 7.x.
Две оставшиеся уязвимости, CVE-2026-23923 и CVE-2026-23924, хотя и имеют средний уровень опасности, демонстрируют разнообразие векторов атаки. Первая позволяет неавторизованному злоумышленнику инициировать создание произвольных классов PHP через действие 'validate' в веб-интерфейсе. Потенциальное влияние этой проблемы зависит от конкретного окружения и доступных классов, но сам факт возможности подобных манипуляций без аутентификации вызывает серьёзную озабоченность. Вторая уязвимость затрагивает плагин Docker в Zabbix Agent 2. Из-за недостаточной очистки параметров, передаваемых демону Docker, атакующий, имеющий возможность выполнять команды на агенте, может читать произвольные файлы из запущенных контейнеров, используя уязвимость на уровне API Docker.
В целом, этот пакет обновлений закрывает критически важные бреши, затрагивающие ядро системы мониторинга, её API, агенты и логику работы скриптов. Для специалистов по информационной безопасности и системных администраторов, использующих Zabbix, данная новость служит жёстким напоминанием о необходимости строгого соблюдения политики обновлений. Особенно учитывая, что некоторые из уязвимостей, такие как SQLi и внедрение команд, являются классическими и давно известными векторами атак, против которых существуют отработанные методы защиты. Рекомендуется немедленно проверить используемые версии Zabbix и применить соответствующие патчи: для ветки 6.0.x - версию 6.0.44 или новее, для 7.0.x - 7.0.23, для 7.2.x - 7.2.15 и для 7.4.x - 7.4.7. В условиях, когда системы мониторинга становятся глазами и ушами IT-инфраструктуры, их безопасность прямо влияет на способность организации оперативно обнаруживать и реагировать на любые инциденты, включая попытки их же компрометации.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2026-23924
- https://www.cve.org/CVERecord?id=CVE-2026-23923
- https://www.cve.org/CVERecord?id=CVE-2026-23921
- https://www.cve.org/CVERecord?id=CVE-2026-23920
- https://www.cve.org/CVERecord?id=CVE-2026-23919
- https://support.zabbix.com/browse/ZBX-27642
- https://support.zabbix.com/browse/ZBX-27641
- https://support.zabbix.com/browse/ZBX-27640
- https://support.zabbix.com/browse/ZBX-27639
- https://support.zabbix.com/browse/ZBX-27638