CVE-2024-51496: LibreNMS has a Reflected XSS ('Cross-site Scripting') in librenms/includes/html/pages/wireless.inc.php
Summary A Reflected Cross-Site Scripting (XSS) vulnerability in the "metric" parameter of the "/wireless" and "/health" endpoints allows attackers to inject arbitrary JavaScript. This vulnerability results in the execution of malicious code when a user accesses the page with a malicious "metric" parameter, potentially compromising their session and allowing unauthorized actions.
Details The "/wireless" and "/health" endpoints are vulnerable to reflected XSS in the "metric" parameter. An attacker can inject the following XSS payload into the "metric" parameter: <script>constructor'constructor')();<!---->
When the page is loaded with this malicious parameter, the script executes immediately. The vulnerability occurs due to improper sanitization of the "metric" parameter in the following sinks: https://github.com/librenms/librenms/blob/7f2ae971c4a565b0d7345fa78b4211409f96800a/includes/html/pages/wireless.inc.php#L82 https://github.com/librenms/librenms/blob/7f2ae971c4a565b0d7345fa78b4211409f96800a/includes/html/pages/health.inc.php#L114
PoC 1. Inject the following payload into the "metric" parameter of the "/wireless" or "/health" endpoint: <script>constructor'constructor')();<!----> 2. Access the page with the injected payload. 3. Observe that the injected script executes upon loading the page.
Example URL: http://<yoururl>/wireless/metric=%3Cscript%3Econstructor'constructor')();%3C!----%3E
Example Request: http GET /wireless/metric=%3Cscript%3Econstructor%27constructor%27)();%3C!----%3E HTTP/1.1 Host: <yourhost> Cookie: <your cookies>
Impact
This vulnerability allows attackers to execute arbitrary JavaScript in the context of a user’s session by crafting a malicious URL. The attack could lead to session hijacking, unauthorized actions, or further exploitation by injecting malicious scripts.
Other sources
LibreNMS is an open-source, PHP/MySQL/SNMP-based network monitoring system. A Reflected Cross-Site Scripting (XSS) vulnerability in the "metric" parameter of the "/wireless" and "/health" endpoints allows attackers to inject arbitrary JavaScript. This vulnerability results in the execution of malicious code when a user accesses the page with a malicious "metric" parameter, potentially compromising their session and allowing unauthorized actions. This vulnerability is fixed in 24.10.0.
— MITRE
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-51496?
CVE-2024-51496 is considered a high severity vulnerability due to its potential for allowing attackers to execute arbitrary JavaScript.
How do I fix CVE-2024-51496?
To fix CVE-2024-51496, users should upgrade to LibreNMS version 24.10.0 or later.
What are the affected versions for CVE-2024-51496?
CVE-2024-51496 affects LibreNMS versions up to and including 24.9.1.
What type of vulnerability is CVE-2024-51496?
CVE-2024-51496 is a Reflected Cross-Site Scripting (XSS) vulnerability.
Where can CVE-2024-51496 be exploited?
CVE-2024-51496 can be exploited on the '/wireless' and '/health' endpoints of LibreNMS.