Description
LibreNMS versions >= 23.10.0 and < 26.2.0 (fixed in 26.4.0) contain an authenticated OS command injection vulnerability in libvirt discovery. When libvirt support is enabled (enable_libvirt=true), the device hostname ($this->getDevice()->hostname) is concatenated into shell commands (ssh, virsh list/dumpxml/domstate) in VminfoLibvirt.php and passed to exec() without escapeshellarg() or argument separation. An authenticated admin can set a crafted device hostname to inject arbitrary OS commands, leading to remote code execution in the discovery worker context.
Published: 2026-09-01
Score: 8.6 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

This vulnerability allows an authenticated administrator to inject arbitrary shell commands when LibreNMS performs libvirt discovery. The defect stems from unsanitized device hostnames that are directly concatenated into exec() calls. An attacker who can alter a device's hostname can cause the discovery worker to run unintended commands, effectively gaining remote code execution on the host running LibreNMS.

Affected Systems

Affected versions are LibreNMS 23.10.0 through 26.1.x. Versions 26.4.0 and later include the fix. The issue appears in the libvirt discovery feature when enable_libvirt is set to true, so all installations that enable libvirt support are impacted.

Risk and Exploitability

The CVSS score of 8.6 indicates high severity. EPSS data is currently unavailable and this vulnerability is not listed in CISA’s KEV catalog. Attack feasibility requires the attacker to have administrative privileges to set a hostname, and libvirt support must be enabled; however, once the vulnerability is exercised the impact is remote code execution in the discovery worker. There is no public exploit known, but the high CVSS and authentication requirement make inventorying privileged admins a priority.

Generated by OpenCVE AI on September 1, 2026 at 12:51 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest LibreNMS release 26.4.0 or later, which removes the unsanitized hostname usage.
  • If an immediate upgrade is not possible, disable libvirt support by setting enable_libvirt=false in the configuration to prevent the vulnerable code path from executing.
  • Ensure that only trusted administrators have write access to device hostnames; review ACLs governing device management to restrict name changes to verified personnel.

Generated by OpenCVE AI on September 1, 2026 at 12:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 01 Sep 2026 11:45:00 +0000

Type Values Removed Values Added
Description LibreNMS versions >= 23.10.0 and < 26.2.0 (fixed in 26.4.0) contain an authenticated OS command injection vulnerability in libvirt discovery. When libvirt support is enabled (enable_libvirt=true), the device hostname ($this->getDevice()->hostname) is concatenated into shell commands (ssh, virsh list/dumpxml/domstate) in VminfoLibvirt.php and passed to exec() without escapeshellarg() or argument separation. An authenticated admin can set a crafted device hostname to inject arbitrary OS commands, leading to remote code execution in the discovery worker context.
Title LibreNMS 23.10.0 before 26.4.0 OS Command Injection via Hostname
First Time appeared Librenms
Librenms librenms
Weaknesses CWE-78
CPEs cpe:2.3:a:librenms:librenms:*:*:*:*:*:*:*:*
Vendors & Products Librenms
Librenms librenms
References
Metrics cvssV4_0

{'score': 8.6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:L/SI:L/SA:L'}


Subscriptions

Librenms Librenms
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-01T11:33:57.794Z

Reserved: 2026-09-01T10:51:59.729Z

Link: CVE-2026-84194

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-01T12:17:49.000

Modified: 2026-09-01T12:17:49.000

Link: CVE-2026-84194

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-01T13:00:16Z

Weaknesses
  • CWE-78

    Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')