
Prueba de concepto y análisis técnico para una vulnerabilidad XSS reflejada (CVE-2025-66850) en el módulo de enrutamiento de LibreNMS, que afecta a las versiones 22.9.0 a 24.9.1.
Dentro de la aplicación ‘LibreNMS’, descubrimos una vulnerabilidad de Cross-Site Scripting reflejado; esta vulnerabilidad existe en el parámetro protocol del módulo de enrutamiento, permitiendo a un atacante ejecutar JavaScript malicioso en el navegador de una víctima. Esta vulnerabilidad afecta a todas las versiones desde la 22.9.0 (septiembre de 2022) hasta la 24.9.1 (septiembre de 2024). Esta vulnerabilidad fue parcheada silenciosamente en la versión 24.10.0 (noviembre de 2024) sin un CVE posterior ni divulgación pública. Esta corrección no documentada significa que muchas organizaciones pueden desconocer su exposición y aún no han aplicado las actualizaciones necesarias. Puede ver la configuración actual utilizada para probar esta vulnerabilidad en la siguiente figura:

Una vulnerabilidad de Cross-Site Scripting reflejado permite a atacantes remotos inyectar código JavaScript arbitrario en los navegadores de usuarios autenticados de LibreNMS a través de URLs especialmente diseñadas – potencialmente permitiéndoles robar cookies de sesión, crear una puerta trasera de administrador, o redirigir a los usuarios a dominios controlados por atacantes. La prueba del XSS se puede ver en la siguiente imagen:

La falla de seguridad se debe a una validación de entrada insuficiente en el parámetro ‘protocol’ del endpoint ‘/routing’. La aplicación aplica una sanitización básica a través del atributo ‘basename()’, evitando el directory traversal, pero no realiza la codificación de entidades HTML antes de reflejar la entrada en la página – permitiendo a los atacantes eludir los controles de seguridad básicos e inyectar código malicioso.
Producto: LibreNMS
Versiones Afectadas: <= 24.9.1
Versión Corregida: 24.10.0 (5 de noviembre de 2024)
Tipo de Vulnerabilidad: CWE-79 (Neutralización Incorrecta de la Entrada Durante la Generación de Páginas Web)
Módulo: Enrutamiento
Endpoint: /routing
Parámetro: protocol
Archivo: includes/html/pages/routing.inc.php
Configurar LibreNMS 24.9.1
Navegar al endpoint ‘/routing/protocol=’
Inyectar el payload del PoC en la sección siguiente
http://[librenms-instance]/routing/protocol=<script>alert(‘SecQuest XSS’)<!-->
Descubierto por: Joel Olivier, Leo Cook
Organización: SecQuest
Fecha de Descubrimiento: 18 de noviembre de 2025