В LibreNMS обнаружена сохранённая межсайтовая уязвимость (XSS), которая затрагивает страницу конфигурации устройств. Причиной стала некорректная обработка значения настройки интеграции с RANCID - системой управления конфигурациями сетевого оборудования. Разработчики уже выпустили исправление в версии 26.3.0.
Уязвимость CVE-2026-27280
Уязвимость получила идентификатор CVE-2026-2728 и описана в бюллетене безопасности GHSA-5gm9-622f-qcg5. Согласно опубликованным данным, проблема присутствует во всех версиях LibreNMS от 25.12.0 до 26.3.0. Для эксплуатации злоумышленнику необходимы права администратора, поэтому разработчики оценили степень опасности как низкую.
Суть проблемы в том, что администратор с правом изменения внешних настроек может сохранить в поле адреса git-репозитория не просто URL, а произвольный HTML-код. Когда другой администратор открывает страницу конфигурации устройства, этот код встраивается в HTML-ссылку с подписью "Git Repository". В результате браузер жертвы исполняет вредоносный JavaScript. Поскольку введённые данные сохраняются на сервере и выводятся при каждом обращении к странице, такая атака относится к категории хранимых межсайтовых скриптингов.
В бюллетене приведены несколько вариантов срабатывания. Вредоносный код может выполниться при наведении курсора на ссылку, при клике по ней или даже сразу при загрузке страницы, если атакующий использовал более сложную конструкцию. В любом случае итог одинаков: в браузере администратора выполняется произвольный JavaScript в контексте сессии LibreNMS.
Чем это опасно на практике. Сценарий атаки предполагает, что в системе работают как минимум два администратора. Один из них, имея доступ к настройкам, внедряет вредоносный код. Когда второй администратор открывает страницу устройства, код выполняется в его браузере. Используя такую возможность, атакующий может перехватить сессию, получить доступ к данным, которые видит другой администратор, или совершить действия от его имени.
Разработчики отмечают, что в системе с единственным администратором риск минимален, поскольку для эксплуатации нужна учётная запись с повышенными привилегиями. Однако в крупных командах, где несколько специалистов управляют сетевой инфраструктурой, подобная уязвимость становится инструментом для атаки между администраторами. Скомпрометированная учётная запись одного администратора может быть использована для получения контроля над сессией другого.
Причина уязвимости - отсутствие проверки и экранирования вводимых данных. Значение настройки не фильтруется при сохранении и не кодируется при выводе. Вместо этого оно вставляется в HTML-код страницы без какой-либо обработки. Это классическая ошибка, приводящая к межсайтовому скриптингу. В качестве меры защиты разработчики рекомендуют применять существующие библиотеки очистки HTML, например HTMLPurifier.
Пользователям LibreNMS следует обновить систему до версии 26.3.0, в которой проблема устранена. В обновлении, судя по всему, добавлена корректная санитизация значений конфигурации. Для тех, кто не может установить патч немедленно, временной мерой может стать ограничение числа администраторов и проверка уже сохранённых значений параметра, связанного с RANCID. Однако полноценное решение - только установка исправления.
Эта уязвимость выделяется не столько опасностью, сколько контекстом. Она напоминает о том, что даже в системах с разграничением прав и привилегий существует риск атак между доверенными пользователями. Межсайтовый скриптинг часто воспринимается как проблема, угрожающая обычным посетителям сайтов, однако в корпоративных инструментах административного управления он приобретает иное значение. Если один из администраторов скомпрометирован, уязвимость превращается в канал для горизонтального перемещения между учётными записями.
Стоит также обратить внимание на то, что CVE-2026-2728 была обнаружена и опубликована в апреле 2026 года, а бюллетень LibreNMS вышел 12 мая. Первая версия с исправлением датирована 26.3.0. Это означает, что пользователи, не обновившие систему, оставались подвержены риску в течение нескольких недель. Подобные задержки между публикацией сведений об уязвимости и массовым обновлением - обычная практика, но они повышают вероятность эксплуатации.
Для администраторов LibreNMS главный вывод простой: необходимо установить версию 26.3.0 или более новую. Перед обновлением полезно проверить, не были ли уже изменены настройки интеграции RANCID, особенно в системах с несколькими администраторами. Если в настройках присутствуют подозрительные значения адресов репозиториев, их следует заменить на корректные. В целом же уязвимость служит поводом пересмотреть процессы управления конфигурацией и контроля изменений в настройках, поскольку проблемы такого рода не всегда связаны с внешними атаками. Иногда источник угрозы находится внутри самой команды.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2026-2728
- https://github.com/librenms/librenms/security/advisories/GHSA-5gm9-622f-qcg5