GitHub Advisoryadvisory · Packagist

GHSA-jmqm-f8q4-v7wx LibreNMS: Reflected XSS via Proxmox instance/vmid GET parameters injected into document.title JavaScript assignment

MEDIUM Published 2026-08-12 Modified 2026-08-12 Official page ↗
Aliases
CVE-2026-45694
Ecosystem
Packagist
Packages
librenms/librenms
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Weaknesses
CWE-79
Reviewed
2026-08-12

Affected packages

• Packagist librenms/librenms: < 26.5.0 → fixed in 26.5.0

Description

Summary `LegacyController.php:75` writes the page title into a `document.title` JS assignment using string interpolation. `apps/proxmox.inc.php` pushes `$vars['instance']` and `$vars['vmid']` (GET params, only `strip_tags()` applied) directly into `$pagetitle`. A single quote terminates the JS string, executing arbitrary script. Details ```php // LegacyController.php:75 $html .= "\ndocument.title = '$title';\n"; // proxmox.inc.php:38,42 $pagetitle[] = $instance; // GET ?instance= $pagetitle[] = $vars['vmid']; // GET ?vmid= ``` PoC ``` http://target/apps?app=proxmox&instance=%27%3Balert%28document.cookie%29%3B// Confirmed in response: document.title = 'Apps - Proxmox - ';alert(document.cookie);// - LibreNMS'; ``` Fix ```php // LegacyController.php:75 $html .= "\ndocument.title = " . json_encode($title) . ";\n"; ``` Also wrap `$instance` and `$vars['vmid']` in `htmlspecialchars()` in proxmox.inc.php. Prerequisite Any authenticated session. Victim must follow a crafted link.

Related

Alias · CVE (1)

  • CVE-2026-45694 LibreNMS is a network monitoring system. vulnerability

Weakness · CWE (1)

  • CWE-79 Improper Neutralization of Input During Web Page Generation weakness

References