Headline
GHSA-c86q-rj37-8f85: LibreNMS has a stored XSS in ExamplePlugin with Device's Notes
Summary
The application fail to sanitising inputs properly and rendering the code from user input to browser which allow an attacker to execute malicious javascript code.
Details
User with Admin role can add Notes to a device, the application did not properly sanitize the user input, when the ExamplePlugin enable, if java script code is inside the device’s Notes, its will be trigger.
PoC
- As an admin user, enable the ExamplePlugin.
- Add the payload
<img src="x" onerror="alert(document.cookie)">
into the device Notes
- Once visit the Overview of the Device, a pop-up will show up.
Impact
It could allow authenticated users to execute arbitrary JavaScript code in the context of other users’ sessions. Impacted users could have their accounts compromised, enabling the attacker to perform unauthorized actions on their behalf.
Summary
The application fail to sanitising inputs properly and rendering the code from user input to browser which allow an attacker to execute malicious javascript code.
Details
User with Admin role can add Notes to a device, the application did not properly sanitize the user input, when the ExamplePlugin enable, if java script code is inside the device’s Notes, its will be trigger.
PoC
As an admin user, enable the ExamplePlugin.
Add the payload <img src="x" onerror="alert(document.cookie)"> into the device Notes
Once visit the Overview of the Device, a pop-up will show up.
Impact
It could allow authenticated users to execute arbitrary JavaScript code in the context of other users’ sessions.
Impacted users could have their accounts compromised, enabling the attacker to perform unauthorized actions on their behalf.
References
- GHSA-c86q-rj37-8f85
- librenms/librenms@24b142d