LibreNMS Misc Section Stored Cross-site Scripting vulnerability
StoredXSS-LibreNMS-MiscSection
Description:
Stored XSS on the parameter: ajax_form.php -> param: state
Request:
POST /ajax_form.php HTTP/1.1
Host: <your_host>
X-Requested-With: XMLHttpRequest
X-CSRF-TOKEN: <your_XSRF_token>
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Cookie: <your_cookie>
type=override-config&device_id=1&attrib=override_icmp_disable&state="><img%20src%20onerror="alert(1)">
of Librenms version 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.
The vulnerability in the line:
$attrib_val = get_dev_attrib($device, $name);
within the dynamic_override_config function arises because the value of $attrib_val is retrieved from untrusted data without any sanitization or encoding (at Line 778).
When dynamic_override_config is called, the unescaped $attrib_val is injected directly into the HTML (at misc.inc.php).
Proof of Concept:
- Add a new device through the LibreNMS interface.
- Edit the newly created device and select the Misc section.
- In any of the following fields: "Override default ssh port", "Override default telnet port", "Override default http port" or "Unix agent port", enter the payload:
"><img src onerror="alert(document.cookie)">. - Save the changes.
- Observe that when the page loads, the XSS payload executes, triggering a popup that displays the current cookies.
Impact:
Execution of Malicious Code
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Composer package | librenms/librenms | >= 23.9.0, < 24.11.0 | 24.11.0 |
References
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N- Weakness (CWE)
CWE-79- Platform
- Composer
- Package
librenms/librenms- Disclosed
- 16.01.2025
- Updated
- 11.10.2026 10:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-c66p-64fj-jmc2 - CC BY 4.0
Vulnerability history: librenms/librenms
All published vulnerabilities of this package (Composer package), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 106
- First → latest
- 10.2019 08.2026
- Without a fix
- 6
- Exploited in attacks
- 0
Severity breakdown
- Critical 5
- High 39
- Medium 56
- Low 6
Disclosures per year
- 2019: 6
- 2020: 0
- 2021: 7
- 2022: 26
- 2023: 12
- 2024: 24
- 2025: 15
- 2026: 16
-
LibreNMS Misc Section Stored Cross-site Scripting vulnerability this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.