Description:
XSS on the parameters (Replace $DEVICE_ID with your specific $DEVICE_ID value):/device/$DEVICE_ID/edit -> param: display
of Librenms versions 24.11.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:
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: "><img src onerror="alert(document.cookie)">.
4. Save the changes.
5. The XSS payload is triggered when navigating to the path /device/$DEVICE_ID/logs and hovering over a type containing a tag (such as Core 1 in the image).
Impact:
Execution of Malicious Code
| Score | Percentile |
|---|---|
| 0.08% | 24.47% |
| Base score | Version | Severity | Vector |
|---|---|---|---|
| 4.6 | 3.1 | — |
|
| Type | Value |
|---|---|
| GHSA | GHSA-2f4w-6mc7-4w78 ↗ |
| CVE | CVE-2024-56144 ↗ |
| CWE id | Name |
|---|---|
| CWE-79 | Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') |
Vulnerable version ranges and first patched releases as published by GitHub.
| Ecosystem | Package | Vulnerable range | First patched | Vulnerable functions |
|---|---|---|---|---|
| composer | librenms/librenms | = 24.11.10 | 24.12.0 | — |