Headline
GHSA-8phr-637g-pxrg: LibreNMS Cross-site Scripting at Device groups Deletion feature
Summary
XSS attacks occurs when application is not sanitising inputs properly and rendering the code from user input to browser which could allow an attacker to execute malicious javascript code.
PoC
- Login
- Create a device group in /device-groups
- Name it as
"><img src=x onerror=alert(1);>
- save it
- Go to services and create a service template and add that device group into that and save it
- After that go back to device groups and delete that device, you will see XSS payload popup in message <img width="1043" alt="Screenshot 2023-11-08 at 9 15 56 PM" src="https://user-images.githubusercontent.com/31764504/281489434-9beaebd6-b9ce-4098-a8e0-d67b185062b5.png">
Vulnerable code:
https://github.com/librenms/librenms/blob/63eeeb71722237d1461a37bb6da99fda25e02c91/app/Http/Controllers/DeviceGroupController.php#L173C21-L173C21
Line 173 is not sanitizing device name properly <img width="793" alt="Screenshot 2023-11-08 at 9 26 14 PM" src="https://user-images.githubusercontent.com/31764504/281490570-5ae6e73a-37ce-4683-8bc8-81655abd8d09.png">
Impact
Cross site scripting can lead to cookie stealing attacks
LibreNMS Cross-site Scripting at Device groups Deletion feature
Moderate severity GitHub Reviewed Published Nov 17, 2023 in librenms/librenms • Updated Nov 17, 2023
Related news
LibreNMS is an auto-discovering PHP/MySQL/SNMP based network monitoring which includes support for a wide range of network hardware and operating systems. Affected versions are subject to a cross site scripting (XSS) vulnerability in the device group popups. This issue has been addressed in commit `faf66035ea` which has been included in release version 23.11.0. Users are advised to upgrade. There are no known workarounds for this vulnerability.