Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCompromise or enroll rogue monitored device
-
DeliverySet SNMP ifAlias or syslog program field to JavaScript payload
-
ExploitLibreNMS polling cycle stores unescaped value in database
-
ExecutionAuthenticated user navigates to alerts or health page
-
PersistBrowser executes stored payload
-
ImpactSession token exfiltrated to attacker-controlled endpoint
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the attacker to control a network device actively monitored by the target LibreNMS instance - achieved by compromising an enrolled device, spoofing a syslog sender permitted by source filtering, or introducing a rogue device accepted into SNMP polling scope. No LibreNMS account credentials are required. Payload execution is contingent on an authenticated LibreNMS user navigating to an affected page (alerts, health dashboards, syslog viewer, pseudowires page, or VRF routing page) after the malicious data has been polled and stored. Factors that limit exploitation: SNMP access controls and community string enforcement preventing unauthorized devices from responding to polls; syslog source-IP filtering blocking rogue senders; network segmentation isolating the SNMP management plane from attacker-reachable segments; and the requirement that a privileged user actively browses an affected page rather than exploitation occurring passively. |
| Impact | The CVSS 4.0 score of 7.1 (AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:L/VA:N) accurately reflects a network-reachable, low-complexity path requiring no LibreNMS privileges but demanding attacker control over a polled device - a meaningful prerequisite that materially reduces exposure compared to a direct unauthenticated attack. The UI:P constraint further limits triggering to authenticated user page views. EPSS data was not provided in the source intelligence, and the CVE is absent from CISA KEV, meaning exploitation probability and active targeting remain unquantified rather than confirmed low. The multi-location attack surface (five or more distinct template sinks) and the high confidentiality impact from session hijacking potential elevate real-world priority above what the raw 7.1 score might suggest for well-resourced operations teams; the absence of KEV listing should not be interpreted as absence of targeting. No conflicting signals between CVSS vector and description were identified - the network attack vector is consistent with SNMP/syslog data injection from a remotely accessible device. |
| Exploit ScenarioDerived | An attacker who has compromised a network switch already enrolled in LibreNMS SNMP polling sets the device's ifAlias (port description) OID to a JavaScript payload designed to exfiltrate session cookies to an attacker-controlled server. LibreNMS polls the device on its next cycle and stores the unescaped value in the ports table. When any authenticated LibreNMS administrator next opens the Alerts page, the browser executes the script and sends the session token to the attacker, granting full platform access. No public exploit code has been identified, but the attack requires only standard SNMP MIB manipulation - no exploitation framework is needed. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 01, 2026
Stored XSS across multiple legacy PHP templates in LibreNMS allows an attacker who controls a monitored network device to inject arbitrary JavaScript via SNMP-polled fields (ifAlias, mempool_descr, storage_descr, sensor_descr) or syslog program fields, with payload execution triggered when any authenticated LibreNMS user browses alerts, health dashboards, or syslog views. The vulnerability spans at least five distinct template locations and stems from inconsistent output encoding - adjacent fields in the same code paths are correctly escaped, but affected fields are not. No public exploit has been identified at time of analysis and the CVE is not listed in CISA KEV, though the high confidentiality impact from potential session token theft makes patching a priority for any network operations team.
RemediationAI
Upgrade LibreNMS to version 26.5.0 or later, which incorporates the fix per upstream commit https://github.com/librenms/librenms/commit/6782af940c3c495755923b520a302f3a1cb1ce6b and pull request https://github.com/librenms/librenms/pull/19660. Because the CVE description cites 26.3.1 as the fix boundary while composer package metadata cites 26.5.0 as the fixed version, upgrade to 26.5.0 to ensure complete coverage pending clarification from the vendor changelog. Where immediate upgrade is not feasible, restrict LibreNMS web interface access to management-only network segments or VPN, reducing the population of authenticated users who could trigger payload execution - note this does not prevent payload storage, only triggering. Harden the data ingestion boundary by enforcing strict SNMP community string controls and source-IP allow-lists for syslog ingestion so only organization-controlled devices can inject data; this closes the primary injection vector but requires network-level enforcement and may not catch compromised legitimate devices. Disabling access to legacy syslog, pseudowires, VRF, and health sub-pages for non-administrative roles reduces trigger surface but does not address the alerts-page vector in functions.inc.php.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in composer, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
LibreNMS (cpe:2.3:a:librenms:librenms:*) is a PHP-based autodiscovering network monitoring platform that ingests device data via SNMP polling and syslog, persisting results to a relational database before rendering them through legacy PHP include templates. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation): multiple template files echo SNMP-polled and syslog-received strings directly into HTML without htmlspecialchars(). Confirmed vulnerable locations include the syslog program field in includes/html/print-syslog.inc.php (line 11), ifAlias in the alert formatter functions.inc.php (line 607) and pseudowires/VRF pages, and hardware descriptor fields (mempool_descr, storage_descr, sensor_descr) in health sub-page templates. Notably, the msg field adjacent to the vulnerable program field in print-syslog.inc.php is correctly escaped, confirming the framework supports proper encoding but legacy templates were not consistently updated. The data flow is: attacker-controlled device injects payload at the SNMP or syslog layer, LibreNMS polls and stores it unescaped, and the payload renders into authenticated user sessions on page load.
Know when Librenms gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
Network-sourced stored XSS needs no LibreNMS auth (PR:N), requires victim page-load (UI:R), and crosses scope boundary into authenticated browser context enabling session theft (S:C, C:H).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
LibreNMS before 26.3.1 contains a stored cross-site scripting vulnerability in legacy PHP templates that output SNMP-sourced and syslog-sourced data without escaping. An attacker who controls a monitored network device can inject arbitrary JavaScript through SNMP interface descriptions or syslog program fields that executes when authenticated users view affected pages.
Technical POC Analysis
CWE-79 (Improper Neutralization of Input During Web Page Generation), stored variant.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
LibreNMS network visibility platform contains a stored XSS vulnerability in SNMP and syslog components that allows attackers controlling monitored devices to persistently inject malicious scripts into operational dashboards. Operations staff viewing these dashboards face browser-based attacks that can compromise session credentials and authentication tokens, potentially enabling lateral movement to adjacent systems and loss of network visibility. For organizations depending on network monitoring for incident response and compliance, this vulnerability undermines trust in the monitoring infrastructure itself.
No vendor-released patch identified at time of analysis. Interim mitigations include: implement Content Security Policy headers on LibreNMS web server to block inline script execution; establish network segmentation preventing compromised SNMP/syslog source devices from accessing the LibreNMS platform; restrict access to alerts, health dashboards, and syslog views to essential operations staff with multi-factor authentication; deploy input validation and sanitization on SNMP trap and syslog message ingestion across the four affected SNMP object identifier types (ifAlias, mempool_descr, storage_descr, sensor_descr) and syslog program fields; conduct security audit of template rendering code to verify output encoding is applied consistently across all five vulnerable template locations; and implement continuous monitoring of LibreNMS authentication logs and operations workstations for indicators of credential compromise or XSS payload execution.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
An issue was discovered in LibreNMS through 1.47. Rated high severity (CVSS 7.2), this vulnerability is remotely exploit
Librenms 21.11.0 is affected by a path manipulation vulnerability in includes/html/pages/device/showconfig.inc.php. Rate
An issue was discovered in LibreNMS through 1.47. Rated critical severity (CVSS 9.8), this vulnerability is remotely exp
Authentication bypass in the LibreNMS REST API (all versions before 26.8.0) lets unauthenticated remote attackers reach
SQL injection in LibreNMS 25.12.0 and below. PoC and patch available.
An issue was discovered in LibreNMS through 1.47. Rated critical severity (CVSS 9.1), this vulnerability is remotely exp
SQL injection in LibreNMS versions 25.12.0 and below allows authenticated users to extract sensitive database informatio
LibreNMS is an open-source, PHP/MySQL/SNMP-based network monitoring system. Rated high severity (CVSS 8.8), this vulnera
An issue was discovered in LibreNMS before 1.65.1. Rated high severity (CVSS 8.8), this vulnerability is remotely exploi
An issue was discovered in LibreNMS 1.50.1. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable,
An issue was discovered in LibreNMS through 1.47. Rated high severity (CVSS 8.8), this vulnerability is remotely exploit
Command injection in LibreNMS's Virtualization Discovery module enables authenticated administrator-level users to execu
EUVD-2026-69029
GHSA-r97f-5q78-rq8c
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB