Описание
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
Vulnerable code:
Line 173 is not sanitizing device name properly

Impact
Cross site scripting can lead to cookie stealing attacks
Ссылки
- https://github.com/librenms/librenms/security/advisories/GHSA-8phr-637g-pxrg
- https://nvd.nist.gov/vuln/detail/CVE-2023-48295
- https://github.com/librenms/librenms/commit/faf66035ea1f4c1c4f34559b9d0ed40ee4a19f90
- https://github.com/librenms/librenms/blob/63eeeb71722237d1461a37bb6da99fda25e02c91/app/Http/Controllers/DeviceGroupController.php#L173C21-L173C21
Пакеты
librenms/librenms
< 23.11.0
23.11.0
Связанные уязвимости
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.