LibreNMS Display Name Stored Cross-site Scripting vulnerability
Moderate severity
GitHub Reviewed
Published
Jan 16, 2025
in
librenms/librenms
•
Updated Jan 17, 2025
Package
Affected versions
>= 24.9.0, < 24.10.1
Patched versions
24.11.0
Description
Published to the GitHub Advisory Database
Jan 16, 2025
Reviewed
Jan 16, 2025
Published by the National Vulnerability Database
Jan 16, 2025
Last updated
Jan 17, 2025
Description:
XSS on the parameters (Replace $DEVICE_ID with your specific $DEVICE_ID value):
/device/$DEVICE_ID/edit
-> param: displayof 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:
Add a new device through the LibreNMS interface.
Edit the newly created device by going to the "Device Settings" section.
In the "Display Name" field, enter the following payload:
"><script>alert(1)</script>
.Save the changes.
The XSS payload triggers when accessing the "/apps" path (if an application was previously added).
Additional PoC:
In the "Display Name" field, enter the following payload:
"><img src onerror="alert(1)">
.The XSS vulnerability is triggered when accessing the "/ports" path, and the payload executes when hovering over the modified value in the "Port" field.
on
/device/$DEVICE_ID/ports/arp
path:on
/device/$DEVICE_ID/logs
path:on
/search/search=arp/
path:Impact:
Execution of Malicious Code
References