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 and 24.10.0 (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 navigating to either the "Alert Rules" or "Custom OID" sections within the "Edit" tab for the device. Additionally, if an application was previously added, the payload will also execute when accessing the "/apps" path.
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.
Impact:
Execution of Malicious Code