
Доказательство концепции и технический анализ для отраженной XSS-уязвимости (CVE-2025-66850) в модуле маршрутизации LibreNMS, затрагивающей версии с 22.9.0 по 24.9.1.
В приложении «LibreNMS» мы обнаружили отражённую уязвимость межсайтового скриптинга (XSS); эта уязвимость существует в параметре протокола (protocol) модуля маршрутизации, что позволяет злоумышленнику выполнить вредоносный JavaScript в браузере жертвы. Эта уязвимость затрагивает все версии с 22.9.0 (сентябрь 2022 г.) по 24.9.1 (сентябрь 2024 г.). Уязвимость была молча исправлена в версии 24.10.0 (ноябрь 2024 г.) без последующего назначения CVE или публичного раскрытия. Это недокументированное исправление означает, что многие организации могут не знать о своей подверженности риску и ещё не применили необходимые обновления. Текущую настройку, использованную для тестирования этой уязвимости, можно увидеть на рисунке ниже:

Отражённая уязвимость межсайтового скриптинга позволяет удалённым злоумышленникам внедрять произвольный JavaScript-код в браузеры аутентифицированных пользователей LibreNMS через специально созданные URL-адреса – потенциально позволяя им перехватывать сессионные cookie, создавать бэкдор-администратора или перенаправлять пользователей на контролируемые злоумышленником домены. Доказательство XSS можно увидеть на изображении ниже:

Уязвимость возникает из-за недостаточной проверки ввода в параметре «protocol» конечной точки «/routing». Приложение применяет базовую санитацию через атрибут «basename()», предотвращая обход каталогов, но не выполняет кодирование HTML-сущностей перед отражением ввода на странице – что позволяет злоумышленникам обходить базовые средства защиты и внедрять вредоносный код.
Product: LibreNMS
Affected Versions: <= 24.9.1
Fixed Version: 24.10.0 (November 5, 2024)
Vulnerability Type: CWE-79 (Некорректная нейтрализация ввода при генерации веб-страницы)
Модуль: Routing
Конечная точка: /routing
Параметр: protocol
Файл: includes/html/pages/routing.inc.php
Установите LibreNMS 24.9.1
Перейдите к конечной точке «/routing/protocol=»
Внедрите полезную нагрузку из PoC в разделе ниже
http://[librenms-instance]/routing/protocol=<script>alert(‘SecQuest XSS’)<!-->
Обнаружено: Joel Olivier, Leo Cook
Организация: SecQuest
Дата обнаружения: 18 ноября 2025 г.