GHSA-pm8j-3v64-92cqMediumCVSS 4.6

LibreNMS Display Name Stored Cross-site Scripting vulnerability

Published
January 16, 2025
Last Modified
April 28, 2025

🔗 CVE IDs covered (1)

📋 Description

Description:

XSS on the parameters (Replace $DEVICE_ID with your specific $DEVICE_ID value):/device/$DEVICE_ID/edit -> param: display

of Librenms versions 24.9.0, 24.10.0, and 24.10.1 (https://github.com/librenms/librenms) allows remote attackers to inject malicious scripts. When a user views or interacts with the page displaying the data, the malicious script executes immediately, leading to potential unauthorized actions or data exposure.

Proof of Concept:

  1. Add a new device through the LibreNMS interface.

  2. Edit the newly created device by going to the "Device Settings" section.

  3. In the "Display Name" field, enter the following payload: "><script>alert(1)</script>. Screenshot from 2024-11-06 09-41-37

  4. Save the changes.

  5. The XSS payload triggers when accessing the "/apps" path (if an application was previously added). Screenshot from 2024-11-06 09-42-05

Additional PoC:

  1. In the "Display Name" field, enter the following payload: "><img src onerror="alert(1)">. image

  2. The XSS vulnerability is triggered when accessing the "/ports" path, and the payload executes when hovering over the modified value in the "Port" field. image

  • on /device/$DEVICE_ID/ports/arp path: image

  • on /device/$DEVICE_ID/logs path: image

  • on /search/search=arp/ path: image

Impact:

Execution of Malicious Code

🎯 Affected products1

  • composer/librenms/librenms:>= 24.9.0, < 24.10.1

🔗 References (4)