LibreNMS uses Improper Sanitization on Service template name leads to Stored XSS
Impact
There is improper sanitization on Service template name which is reflecting in delete button onclick event. This value can be modified and crafted as any other javascript code.
Source excerpt · OSVAffected packages
Start with the recorded fix for your release branch. Check your installed version and test compatibility before upgrading. Fixing this advisory does not rule out other vulnerabilities in the release.
| Affected range | Recorded fix |
|---|---|
| Earlier releases before 24.4.0Ecosystem versions | 24.4.0 |
Version evidence: OSV · GHSA-72m9-7c8x-pmmw
View original version evidence (121 explicit versions)
Original source description
Summary
There is improper sanitization on Service template name which is reflecting in delete button onclick event. This value can be modified and crafted as any other javascript code.
Vulnerable Code
Above is vulnerable code line which needs to be properly sanitized
PoC
- Go to /services/templates
- Enter name as
testing', '14', 'http://172.105.62.194:8000/services/templates/14');alert(1);// - Submit it and try to delete it, you will see popup
If you inspect element on delete button, you will notice this:- <img width="748" alt="Screenshot 2023-11-23 at 9 30 24 PM" src="https://user-images.githubusercontent.com/31764504/285260018-7672a93d-e29b-4444-8057-e6ffcb8dabfc.png">
Impact
Cross site scripting can lead to cookie stealing or an attacker can execute any other feature using this feature.
References
- Security advisory github.com/librenms/librenms/security/advisories/GHSA-72m9-7c8x-pmmw
- Security advisory nvd.nist.gov/vuln/detail/CVE-2024-32479
- Patch github.com/librenms/librenms/commit/19344f0584d4d6d4526fdf331adc60530e3f685b
- Source reference github.com/librenms/librenms
- Source reference github.com/librenms/librenms/blob/a61c11db7e8ef6a437ab55741658be2be7d14d34/app/Http/Controllers/ServiceTemplateController.php