# CVE-2026-109355: LibreNMS stored cross-site scripting in Oxidized node list

Source: https://junglewise.ai/threats/cve-2026-109355-librenms-before-26-9-0-contains-a-stored-cross-site-scripting  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-12. Updated: 2026-10-16  
License: CC BY 4.0 with a link back

CVE-2026-109355 · Severity: medium · CVSS 6.1 · Published 2026-10-12

LibreNMS is a network monitoring platform that uses the Oxidized tool to manage device configurations. Before version 26.9.0, the Tools → Oxidized page fails to escape untrustworthy data from both Oxidized API responses and device SNMP names before displaying them in a table, allowing attackers to inject malicious scripts that execute in users' browsers. An attacker controlling an Oxidized endpoint or a monitored device's SNMP configuration can inject JavaScript that steals session tokens, performs actions as the logged-in user, or redirects to phishing sites.

Technologies: [Librenms](https://junglewise.ai/threats/technologies/librenms). Vendors: [Librenms](https://junglewise.ai/threats/vendors/librenms).

## Quick answers

**Is CVE-2026-109355 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-109355 being exploited in the wild.

**How severe is CVE-2026-109355?** Medium severity, with a CVSS score of 6.1, published 12 October 2026.

**Which products and versions are affected?** Librenms before 26.9.0.

**Is there a fix for CVE-2026-109355?** Yes: fixed in 26.9.0. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-109355 attacked?** It is attacked over the network, in a web application.

**Am I affected by CVE-2026-109355?** Check whether you run Librenms at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in 26.9.0

## Technical details

The get_oxidized_nodes_list() function in includes/html/functions.inc.php renders six unescaped fields from Oxidized API responses (name, status, time, model, group) and device SNMP sysName directly into HTML table cells without htmlspecialchars() or equivalent output encoding. An attacker controlling the Oxidized endpoint (via admin misconfiguration, compromise, or DNS hijacking) or any device's SNMP responses can inject script tags or event handlers that execute in the browser of any user viewing the Tools → Oxidized page with appropriate device permissions. The vulnerability is a stored XSS: payloads persist in the monitored infrastructure and execute on every page view.

## Affected products

- LibreNMS LibreNMS before 26.9.0

## Timeline

- 2026-10-12: disclosed
- 2026-09-23: advisory: GitHub GHSA-cjqw-76mh-jmpv published
- 2026-09-23: patched: Fixed in version 26.9.0

## References

- [https://github.com/librenms/librenms/security/advisories/GHSA-cjqw-76mh-jmpv](https://github.com/librenms/librenms/security/advisories/GHSA-cjqw-76mh-jmpv)
- [https://www.vulncheck.com/advisories/librenms-before-26.9.0-stored-xss-via-tools-oxidized-node-list](https://www.vulncheck.com/advisories/librenms-before-26.9.0-stored-xss-via-tools-oxidized-node-list)

## Related threats

- [LibreNMS LDAP filter injection in external authorization modes](https://junglewise.ai/threats/cve-2026-109357-librenms-before-26-9-0-contains-an-ldap-filter-injection-in-ldap)
- [LibreNMS missing authorization in PortsController::purge](https://junglewise.ai/threats/cve-2026-109356-librenms-before-26-9-0-contains-a-missing-authorization)
- [LibreNMS path traversal in NFSen channel parameter](https://junglewise.ai/threats/cve-2026-109354-librenms-before-26-9-0-contains-a-path-traversal-vulnerability)
- [LibreNMS SQL injection in notifications.inc.php](https://junglewise.ai/threats/cve-2026-109353-librenms-before-26-9-0-contains-an-sql-injection-vulnerability)
- [LibreNMS stored cross-site scripting in wireless sensor description](https://junglewise.ai/threats/cve-2026-109352-librenms-before-26-9-0-contains-a-stored-cross-site-scripting)
