В LibreNMS обнаружена уязвимость удалённого выполнения кода через модуль оповещений Signal

LibreNMS

В системе управления сетями LibreNMS выявлена опасная уязвимость, позволяющая аутентифицированному администратору выполнять произвольные команды на сервере. Проблема затрагивает версии с 21.6.0 по 26.x, предшествующие выпуску 26.5.0, и классифицируется разработчиками как критическая. Официальный идентификатор CVE не присвоен.

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

Уязвимость связана с небезопасным вызовом функции exec в двух компонентах: в модуле оповещений Signal (файл LibreNMS/Alert/Transport/Signal.php) и в скрипте composer_wrapper.php. При добавлении новой записи транспорта оповещений администратор может подставить в поля "Path" и "Recipient" специально сформированные значения. Экранирование путей к signal-cli и получателя оказалось недостаточным для предотвращения инъекции команд. Объединив эти вызовы, злоумышленник с правами администратора способен запустить любую программу в файловой системе сервера.

Вектор эксплуатации выглядит следующим образом. В панели управления (Dashboard) через раздел Alert → Alert Transports создаётся новый транспорт, выбирается тип "Signal". В поле "Path" указывается относительный путь к уязвимому скрипту (../scripts/composer_wrapper.php), а в поле "Recipient" вводится команда, обрамлённая точкой с запятой для её отделения. После сохранения записи и нажатия кнопки "Test Transport" команда выполняется на сервере. Доказательство концепции (PoC) опубликовано в бюллетене безопасности.

Анализ и контекст

LibreNMS - это популярная система с открытым исходным кодом для мониторинга сетевой инфраструктуры. Она широко используется провайдерами, корпоративными сетями и дата-центрами. Возможность удалённого выполнения кода (Remote Code Execution, RCE) на сервере LibreNMS создаёт серьёзные риски. Атакующий, получивший учётную запись администратора, может полностью скомпрометировать хост, похитить данные мониторинга, учётные записи устройств и топологию сети, а также использовать сервер как точку для бокового перемещения внутри инфраструктуры.

Важно подчеркнуть, что для эксплуатации требуются права администратора. Однако даже это ограничение не снижает опасность, поскольку администраторы LibreNMS зачастую имеют привилегированный доступ к сетевым устройствам. Кроме того, если злоумышленник получает учётные данные администратора через фишинг, утечку или перебор, он может воспользоваться этой уязвимостью.

Уязвимость относится к категории CWE-77 (Improper Neutralization of Special Elements used in a Command, command injection). Разработчики LibreNMS выпустили патч в версии 26.5.0, который устраняет проблему за счёт экранирования пользовательского ввода и отказа от передачи путей исполняемых файлов непосредственно через веб-интерфейс. Вместо этого рекомендуется задавать такие пути в конфигурации, по умолчанию доступной только через командную строку.

Цитата из бюллетеня безопасности

В официальном бюллетене LibreNMS (GHSA-c9fv-cgmm-2wg7 от 10 июня 2026 года) сказано: "Уязвимость позволяет злоумышленнику-администратору выполнить произвольный код на сервере. При добавлении записи транспорта оповещений атакующий с административными привилегиями может выполнить вредоносные команды". Разработчики рекомендуют обновиться до версии 26.5.0 и далее не устанавливать пути исполняемых файлов через веб-интерфейс.

Резюме

Обнаруженная уязвимость в LibreNMS (версии до 26.5.0) даёт возможность удалённого выполнения кода аутентифицированному администратору через модуль оповещений Signal. Проблема исправлена в версии 26.5.0. Организациям, использующим LibreNMS, необходимо срочно обновить систему, а также пересмотреть практики управления учётными записями администраторов. Даже при наличии патча следует ограничить количество привилегированных пользователей и обеспечить строгую аутентификацию. Без установки обновления сервер LibreNMS остаётся под угрозой полной компрометации.

Ссылки

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