В системе мониторинга сетевого оборудования LibreNMS обнаружено семь уязвимостей, связанных с недостаточной фильтрацией входных данных. Часть из них позволяет удалённо выполнить произвольный код на сервере, другая - организовать межсайтовый скриптинг (XSS) и похитить чувствительную информацию. Проблемы затрагивают версии до 26.5.0, разработчики уже выпустили исправления.
Детали уязвимостей
Наиболее серьёзная уязвимость высокой степени опасности находится в модуле обнаружения виртуальных машин. Через настройки веб-интерфейса администратор может изменить параметры опроса устройств, которые затем передаются в командную строку без проверки. В результате злоумышленник с правами администратора способен выполнить любую команду на хост-системе. Второй вариант эксплуатации предполагает подмену пути к исполняемому файлу, что позволяет загрузить на сервер вредоносный скрипт и запустить его. В официальном бюллетене эта проблема обозначена как уязвимость высокой степени опасности, поскольку она ведёт к полной компрометации сервера и всего мониторинга.
Ещё одна уязвимость, также позволяющая выполнить код, найдена в странице сведений о системе. Администратор может указать собственный исполняемый файл в качестве утилиты snmpget, и при обращении к странице он будет запущен с правами веб-сервера. В бюллетене проблема отнесена к средней степени опасности, однако при наличии файлового доступа к серверу она может привести к полной компрометации. Эксплуатация не требует действий пользователя, достаточно лишь изменить значение настройки и открыть страницу.
Остальные уязвимости связаны с межсайтовым скриптингом. Данные, полученные по SNMP или из настроек, выводятся на страницы без экранирования. Например, встроенная интеграция с системой Oxidized позволяет подставить вредоносный код в поля с информацией об устройстве. Злоумышленник, контролирующий ответ сервера Oxidized, может добиться выполнения JavaScript в браузере любого пользователя LibreNMS, который откроет страницу конфигурации устройства. Для этого достаточно изменить адрес сервера на подконтрольный и подготовить ответ в нужном формате.
Аналогичная проблема затрагивает вывод данных из SNMP на страницах маршрутизации, в таблицах BGP-пиров, информации о процессах и VLAN. Если сетевое устройство или поддельный SNMP-агент передаст в описании пира или имени VRF вредоносный HTML-код, он будет выполнен в браузере администратора. Это позволяет похитить сессионные cookie, получить SNMP-строки сообщества для всех устройств и выполнять действия от имени администратора. Эксплуатация возможна при наличии у злоумышленника прав на управление сетевым устройством или возможности подключить к сети подконтрольный SNMP-агент. Такая ситуация особенно опасна в сегментах, где LibreNMS настроена на автоматическое добавление новых устройств.
Кроме того, обнаружена отражённая XSS-уязвимость в модуле Proxmox. Параметры запроса вставляются в код страницы без должной обработки, поэтому атакующий может внедрить вредоносный сценарий в текстовое поле. Для срабатывания достаточно, чтобы жертва перешла по специально сформированной ссылке. Атака требует только учётной записи любого пользователя, однако для успешного выполнения необходимо взаимодействие жертвы с ссылкой.
Всего в опубликованных бюллетенях перечислены семь уязвимостей. Одна из них идентифицирована как CVE-2026-45694, остальные пока не получили идентификаторы. Проблемы затрагивают разные диапазоны версий: часть обнаружена в версиях не позднее 26.2.0, другие - до 26.4.0 или 26.4.1. Почти все они устраняются патчами в версиях 26.4.1, 26.5.0 и 26.7.0. Для последней уязвимости из списка, затрагивающей версии до 26.2.0, официальное исправление пока не выпущено, однако обновление до актуальной версии снижает риск эксплуатации, поскольку большинство связанных проблем закрыто.
Разработчики опубликовали подробные описания в системе GitHub Security Advisory, где также приведены рекомендации по настройке. В качестве временных мер специалисты советуют ограничить доступ к веб-интерфейсу LibreNMS, а также пересмотреть права администраторов, поскольку большинство атак требует высоких привилегий. Для защиты от XSS-атак через данные с устройств стоит использовать SNMPv3 с аутентификацией и не добавлять в систему сети с низким уровнем доверия.
Уязвимости в LibreNMS обращают внимание на растущий класс рисков, связанных с платформами мониторинга. Такие системы по своей природе получают данные из множества источников, включая потенциально небезопасные сетевые сегменты. Отсутствие строгой валидации и экранирования этих данных может превратить мониторинг в вектор атаки на всю инфраструктуру. Операторам следует учитывать это при планировании обновлений и контроле доступа к панели управления.
Ссылки
- https://github.com/librenms/librenms/security/advisories/GHSA-v5jp-f342-234h
- https://github.com/librenms/librenms/security/advisories/GHSA-jmqm-f8q4-v7wx
- https://github.com/librenms/librenms/security/advisories/GHSA-jf24-8g2h-2wg7
- https://github.com/librenms/librenms/security/advisories/GHSA-g993-wffj-m3gv
- https://github.com/librenms/librenms/security/advisories/GHSA-7hmq-j399-mqwf
- https://github.com/librenms/librenms/security/advisories/GHSA-7gww-x7fh-jf9j
- https://github.com/librenms/librenms/security/advisories/GHSA-7cj5-v4pp-v632