LibreNMS Cross-site Scripting at Device groups Deletion feature
SummaryXSS 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.PoCLoginCreate a device group in /device-groupsName it as `"><img src=x onerror=alert(1);>`save itGo to services and create a service template and add that device group into that and save itAfter 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-L173C21Line 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">ImpactCross site scripting can lead to cookie stealing attacks