Skip to main content

LibreNMS CVE-2026-84189

| EUVDEUVD-2026-69026 CRITICAL
Cross-site Scripting (XSS) (CWE-79)
2026-09-01 VulnCheck GHSA-r436-6p4j-frwf
9.2
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain LibreNMS admin session
  2. Delivery
    Set oxidized.url to attacker server
  3. Exploit
    Malicious JSON returned to LibreNMS
  4. Execution
    Fields stored/rendered unescaped in showconfig
  5. Persist
    Victim opens device showconfig tab
  6. Impact
    Attacker JS runs in victim session

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: (1) an authenticated LibreNMS administrator session, because oxidized.url is an admin-only configuration setting (PR:H); (2) the Oxidized integration must be enabled and its URL pointed at an attacker-controlled or attacker-influenceable server (the SSRF pivot); and (3) victim user interaction - a user must open a device's showconfig tab for the stored payload to execute (UI:P/R). Limiting factors: the admin privilege prerequisite means this is not exploitable by unauthenticated or low-privileged users against a default install, and the payload only triggers when someone views showconfig, so it is a stored/persistent condition dependent on the Oxidized feature being configured rather than a default-on remote bug.

Impact

The signals are moderately consistent. The input CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:P/VC:H/VI:H/SC:H/SI:H) scores 9.2 and the vendor GHSA CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N) scores 8.1 High - both correctly capture that exploitation requires high privileges (an administrator to set oxidized.url) plus victim interaction (a user must view a showconfig tab), with a scope/subsequent-system change reflecting that the injected script runs in other users' browser sessions. Publicly available exploit code exists (a confirmed mock Oxidized server), which raises practical risk, but this is NOT active exploitation - there is no CISA KEV listing and no EPSS score was provided. The PR:H requirement is the dominant limiting factor: an attacker generally needs admin control (or a compromised/socially-engineered admin) to weaponize this, which makes it a meaningful post-compromise privilege-lateralization and session-theft vector rather than a mass-exploitable unauthenticated bug. Net: a real, patch-worthy issue for LibreNMS operators, but its realistic priority is tempered by the admin prerequisite and the absence of in-the-wild exploitation.

Exploit ScenarioDerived

An attacker who has obtained (or socially engineered) a LibreNMS admin session sets oxidized.url to http://attacker.example.com/, which serves JSON such as {"name":"<img src=x onerror=alert(1)>","ip":"x","model":"x"}. The payload is stored and rendered every time any operator opens a device's showconfig tab, running attacker JavaScript in each victim's authenticated session to steal cookies or perform actions on their behalf. A working proof-of-concept mock Oxidized server has already confirmed the injection fires.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 01, 2026

Stored cross-site scripting in LibreNMS through 26.4.0 lets an administrator (or an attacker who has hijacked an admin session) chain an SSRF into persistent XSS by pointing the admin-configurable Oxidized integration URL (oxidized.url) at an attacker-controlled server. That server returns malicious JSON whose name, ip, model, author, and commit-message fields are rendered into the device showconfig page without htmlspecialchars(), so any user viewing any device's showconfig tab executes attacker-supplied JavaScript. A proof-of-concept mock Oxidized server has publicly confirmed the injection; no active exploitation is listed in CISA KEV.

RemediationAI

Vendor-released patch: 26.7.0 - upgrade LibreNMS to 26.7.0 or later, which adds htmlspecialchars($value, ENT_QUOTES, 'UTF-8') encoding to all fields sourced from $node_info, $author, and $msg on the showconfig page (per GHSA-7gww-x7fh-jf9j). If immediate upgrade is not possible, disable the Oxidized integration or ensure oxidized.url points only to a trusted, network-restricted Oxidized instance and cannot be redirected to arbitrary hosts; restrict who holds LibreNMS administrator rights since setting oxidized.url requires an admin session, and audit the current oxidized.url value for tampering. Trade-off: disabling Oxidized removes device configuration backup/version history functionality, and locking oxidized.url to an allowlisted host prevents legitimate reconfiguration until the patch is applied. Advisory URLs: https://github.com/librenms/librenms/security/advisories/GHSA-7gww-x7fh-jf9j and https://www.vulncheck.com/advisories/librenms-before-26.7.0-stored-xss-via-oxidized-api.

Affected VersionsENISA

librenms 0 <26.7.0

Affected Packages

composer librenms/librenms fix: 26.7.0
euvd librenms fix: 26.7.0

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 is a PHP-based open-source network monitoring platform that optionally integrates with Oxidized, a network-device configuration backup tool. LibreNMS fetches device metadata and version history from the Oxidized HTTP API at the operator-set oxidized.url and renders the returned JSON directly into the showconfig page. The root cause is CWE-79 (improper neutralization of input during web page generation): in includes/html/pages/device/showconfig.inc.php (around lines 276-278 for Node/IP/Model and lines 349/353 for author and commit message) the values from $node_info, $author, and $msg are echoed into HTML with no output encoding. Because the data source (oxidized.url) is itself attacker-influenceable, the flaw combines an SSRF trust boundary with a persistent XSS sink. The affected package is composer/librenms/librenms, CPE cpe:2.3:a:librenms:librenms.

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

Vendor (VulnCheck) PRIMARY 9.2 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N
vuln.today AI 8.1 HIGH

Admin-only oxidized.url setting forces PR:H; a victim must view showconfig so UI:R; injected script executing in other users' sessions is a scope change (S:C) with C:H/I:H, no availability impact.

3.1 AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:P/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
High
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 01, 2026 - 13:01 EUVD
CVE Published
Sep 01, 2026 - 11:33 cve.org
CRITICAL 9.2

DescriptionCVE.org

LibreNMS through 26.4.0 renders JSON fields (name, ip, model, author, commit message) returned by the admin-configurable Oxidized integration URL (oxidized.url) into the device showconfig page without applying htmlspecialchars(). An administrator who points the Oxidized URL at an attacker-controlled server (SSRF) can cause it to return malicious JSON, resulting in stored/persistent cross-site scripting affecting all users who view any device's showconfig tab. Fixed in 26.7.0.

Technical POC Analysis

CWE-79, improper neutralization of input during web page generation.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

LibreNMS through version 26.4.0 has a stored XSS vulnerability allowing compromised administrator accounts to inject malicious code affecting all users who access device configurations. The exploit code is publicly available and no patch is currently available, leaving your network management operations vulnerable to session hijacking and infrastructure-level attacks.

Business Impact: Severe
Compensating Controls

Disable the Oxidized integration if not operationally critical. Restrict configuration of the Oxidized integration URL to a dedicated, heavily monitored admin account with multi-factor authentication. Implement network-level access controls limiting the integration to specific trusted domains. Deploy Content Security Policy headers to reduce XSS impact. Monitor admin access logs and Oxidized response data for indicators of compromise.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Medium
popular open-source network monitoring tool, common but not universally deployed
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

CVE-2019-10669 HIGH POC
7.2 Sep 09

An issue was discovered in LibreNMS through 1.47. Rated high severity (CVSS 7.2), this vulnerability is remotely exploit

CVE-2021-44278 CRITICAL POC
9.8 Dec 03

Librenms 21.11.0 is affected by a path manipulation vulnerability in includes/html/pages/device/showconfig.inc.php. Rate

CVE-2019-10665 CRITICAL POC
9.8 Sep 09

An issue was discovered in LibreNMS through 1.47. Rated critical severity (CVSS 9.8), this vulnerability is remotely exp

CVE-2026-86426 CRITICAL POC
9.2 Sep 07

Authentication bypass in the LibreNMS REST API (all versions before 26.8.0) lets unauthenticated remote attackers reach

CVE-2026-26988 CRITICAL POC
9.1 Feb 20

SQL injection in LibreNMS 25.12.0 and below. PoC and patch available.

CVE-2019-10668 CRITICAL POC
9.1 Sep 09

An issue was discovered in LibreNMS through 1.47. Rated critical severity (CVSS 9.1), this vulnerability is remotely exp

CVE-2026-26990 HIGH POC
8.8 Feb 20

SQL injection in LibreNMS versions 25.12.0 and below allows authenticated users to extract sensitive database informatio

CVE-2024-32461 HIGH POC
8.8 Apr 22

LibreNMS is an open-source, PHP/MySQL/SNMP-based network monitoring system. Rated high severity (CVSS 8.8), this vulnera

CVE-2020-15877 HIGH POC
8.8 Jul 21

An issue was discovered in LibreNMS before 1.65.1. Rated high severity (CVSS 8.8), this vulnerability is remotely exploi

CVE-2019-12463 HIGH POC
8.8 Sep 09

An issue was discovered in LibreNMS 1.50.1. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable,

CVE-2019-10671 HIGH POC
8.8 Sep 09

An issue was discovered in LibreNMS through 1.47. Rated high severity (CVSS 8.8), this vulnerability is remotely exploit

CVE-2026-80214 HIGH POC
8.6 Aug 26

Command injection in LibreNMS's Virtualization Discovery module enables authenticated administrator-level users to execu

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy