Every CVE Search/ Get API key

CVE-2026-84189

LibreNMS before 26.7.0 Stored XSS via Oxidized API

9.2 CriticalFix available

CVE-2026-84189 is a critical vulnerability (CVSS 9.2) in Librenms, published August 18, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.38%, the 32nd percentile. Fixed in librenms/librenms 26.7.0.

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
High
User interaction
Passive

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
None

Exploit likelihood

0.38%Up 0.1 points since Sep 2, 2026
90%50%10%1%

What each source reports

CVE List Score used 9.2

LibreNMS before 26.7.0 Stored XSS via Oxidized API

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.

Record
CVE-2026-84189
CVSS 4.0
9.2 CriticalCVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N
Weakness
CWE-79
Updated
2026-11-02
EUVDEUVD-2026-69026 9.2

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.

Record
EUVD-2026-69026
CVSS 4.0
9.2 CriticalCVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-7gww-x7fh-jf9j 8.1

LibreNMS: SSRF-driven stored XSS via Oxidized API response fields in device showconfig page

Summary

The Oxidized integration URL (oxidized.url) is admin-configurable. LibreNMS fetches device info and version history from that URL and renders JSON fields (name, ip, model, author, commit message) into HTML without htmlspecialchars(). An admin pointing the URL at an attacker-controlled server achieves persistent XSS affecting all users who view any device's showconfig tab.

CVSS

CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N — 8.1 High

Details

// includes/html/pages/device/showconfig.inc.php:276-278
echo '<li ...><strong>Node:</strong> ' . $node_info['name'] . '</li>';
echo '<li ...><strong>IP:</strong> '   . $node_info['ip']   . '</li>';
echo '<li ...><strong>Model:</strong> '. $node_info['model'] . '</li>';
// lines 349, 353: author and commit message also unescaped

Attack chain

  1. Admin sets oxidized.url to http://attacker.example.com/.
  2. Attacker server returns {"name":"<img src=x onerror=alert(1)>","ip":"x","model":"x"}.
  3. Any user viewing any device showconfig tab triggers the XSS.

PoC

Mock Oxidized server confirmed in response:

[!!!] CONFIRMED — ...<strong>Node:</strong> <img src=x onerror="alert('SSRF-XSS-oxidized')">...

Fix

echo '<li ...><strong>Node:</strong> ' . htmlspecialchars($node_info['name'], ENT_QUOTES, 'UTF-8') . '</li>';

Apply to all fields from $node_info, $author, $msg.

Prerequisite

Admin session. Oxidized integration must be enabled.

Record
GHSA-7gww-x7fh-jf9j
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N
Weakness
CWE-79, CWE-918
Updated
2026-11-02
GitHub AdvisoriesGHSA-r436-6p4j-frwf 9.2

LibreNMS through 26.4.0 renders JSON fields (name, ip, model, author, commit message) returned by...

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.

Record
GHSA-r436-6p4j-frwf
CVSS 4.0
9.2 CriticalCVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N
Weakness
CWE-79
Updated
2026-11-02
NVD 9.2

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.

Record
CVE-2026-84189
CVSS 4.0
9.2 CriticalCVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N
Weakness
CWE-79
Updated
2026-11-02
OSV 9.2

LibreNMS before 26.7.0 Stored XSS via Oxidized API

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.

Record
CVE-2026-84189
CVSS 4.0
9.2 CriticalCVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N
Weakness
CWE-79
Updated
2026-11-02
OSVGHSA-7gww-x7fh-jf9j 8.1

LibreNMS: SSRF-driven stored XSS via Oxidized API response fields in device showconfig page

Summary

The Oxidized integration URL (oxidized.url) is admin-configurable. LibreNMS fetches device info and version history from that URL and renders JSON fields (name, ip, model, author, commit message) into HTML without htmlspecialchars(). An admin pointing the URL at an attacker-controlled server achieves persistent XSS affecting all users who view any device's showconfig tab.

CVSS

CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N — 8.1 High

Details

// includes/html/pages/device/showconfig.inc.php:276-278
echo '<li ...><strong>Node:</strong> ' . $node_info['name'] . '</li>';
echo '<li ...><strong>IP:</strong> '   . $node_info['ip']   . '</li>';
echo '<li ...><strong>Model:</strong> '. $node_info['model'] . '</li>';
// lines 349, 353: author and commit message also unescaped

Attack chain

  1. Admin sets oxidized.url to http://attacker.example.com/.
  2. Attacker server returns {"name":"<img src=x onerror=alert(1)>","ip":"x","model":"x"}.
  3. Any user viewing any device showconfig tab triggers the XSS.

PoC

Mock Oxidized server confirmed in response:

[!!!] CONFIRMED — ...<strong>Node:</strong> <img src=x onerror="alert('SSRF-XSS-oxidized')">...

Fix

echo '<li ...><strong>Node:</strong> ' . htmlspecialchars($node_info['name'], ENT_QUOTES, 'UTF-8') . '</li>';

Apply to all fields from $node_info, $author, $msg.

Prerequisite

Admin session. Oxidized integration must be enabled.

Record
GHSA-7gww-x7fh-jf9j
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N
Weakness
CWE-79, CWE-918
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
librenms/librenms
Packagist
before 26.7.0
26.7.0
librenms/librenms
Packagist
before 26.7.0, plus listed versions
1.191.201.20.11.211.22
Show 45 moreShow less
1.22.011.231.241.251.261.271.281.291.301.30.011.311.31.011.31.021.31.031.321.32.011.331.33.011.341.351.361.36.011.371.381.391.401.411.421.42.011.431.441.451.461.471.481.48.11.491.501.50.11.511.521.531.53.11.541.55
26.7.0

History

History
WhenChangedSources
2026-11-02createdCVE List, EUVD, GitHub Advisories, NVD, OSV

References

This page doesn't list everything

Left out here: 108 versions. The JSON record has them.

MoveEnter Open