Skip to main content

LibreNMS CVE-2026-55182

HIGH
Command Injection (CWE-77)
2026-08-18 https://github.com/librenms/librenms GHSA-c9fv-cgmm-2wg7
8.6
CVSS 4.0 · Vendor: https://github.com/librenms/librenms
View

Attack ChainAIDerived

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

  1. Access
    Acquire LibreNMS admin credentials
  2. Delivery
    Navigate to Alert Transports admin page
  3. Exploit
    Create Signal transport with path set to ../scripts/composer_wrapper.php
  4. Execution
    Inject shell payload in Recipient field using semicolon delimiters
  5. Persist
    Click Test Transport to trigger exec() chain
  6. Impact
    Execute arbitrary OS commands as web server process user

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Command injection prevention
MITRE ATT&CK

1 technique across 1 tactic: 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 authenticated session with LibreNMS administrator privileges - standard (non-admin) user accounts cannot access the Alert Transports configuration page. The attacker must be able to create or modify Alert Transport entries and trigger the 'Test Transport' action. The Signal transport type must be present in the transport list, which it is in default installations. No special server-side configuration of the Signal messaging service is required - the exploit abuses the path and recipient fields without needing a functional Signal setup. The principal limiting factor is the PR:H (high-privilege) requirement per the CVSS 4.0 vector: an unauthenticated or low-privileged attacker has no direct path to exploitation and must first acquire admin credentials.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N, score 8.6) accurately reflects a network-reachable attack with no complexity barrier and no user interaction - but the PR:H metric is the pivotal constraint: exploitation is gated entirely on possession of a valid LibreNMS administrator account. This substantially narrows the realistic attacker population to insiders, compromised privileged accounts, or attackers who have already achieved credential theft. The absence of a CISA KEV listing indicates no confirmed widespread exploitation at time of analysis; however, the fully detailed public PoC in the advisory lowers the skill bar to near zero for anyone who does hold admin access. EPSS data was not provided, but given the high privilege requirement, mass automated exploitation is unlikely. The primary risk scenario is post-compromise privilege escalation or insider abuse: the jump from LibreNMS admin to full OS command execution is trivial and one-click once credentials are in hand, meaning any environment with shared or weakly protected admin credentials should treat this as urgent. My independent CVSS 3.1 assessment yields S:C (scope change) because exec() breaks out of the web application boundary to the underlying OS, which the vendor's 4.0 SC:N metrics arguably understate.

Exploit ScenarioDerived

A publicly available proof-of-concept documents the full chain: an authenticated administrator navigates to Dashboard → Alert → Alert Transports, creates a new Signal transport entry setting the Path to ../scripts/composer_wrapper.php and the Recipient field to ;id; (or any shell command), saves the entry, and clicks the 'Test Transport' button - causing the web server process to execute the injected OS command and return output. The attacker can substitute any accessible binary or shell payload, enabling privilege escalation, reverse shell establishment, credential harvesting, or lateral movement.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 1.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv2 – Aug 26, 2026

Remote code execution in LibreNMS allows an authenticated administrator to execute arbitrary OS commands on the host server by chaining two unsafe PHP exec() calls in the Signal alert transport module. Versions 21.6.0 through 26.5.0 (exclusive) are affected, with the root cause being unescaped user-controlled inputs - the signal-cli path and Recipient field - interpolated directly into shell commands in LibreNMS/Alert/Transport/Signal.php and scripts/composer_wrapper.php. A publicly available proof-of-concept with step-by-step exploit instructions is included in the GitHub Security Advisory GHSA-c9fv-cgmm-2wg7; no CISA KEV listing was identified at time of analysis.

Earlier versions of this analysis (1)
v1 Aug 18, 2026 - 18:21

Remote code execution in LibreNMS versions 21.6.0 through 26.5.0 is achievable by any authenticated administrator through a chained command injection in the Signal Alert Transport module. Two unsafe PHP exec() calls in LibreNMS/Alert/Transport/Signal.php and scripts/composer_wrapper.php fail to adequately sanitize the configurable Path and Recipient fields before passing them to the shell, allowing an admin to execute arbitrary binaries on the host server filesystem. A detailed step-by-step proof-of-concept is publicly available in GitHub Security Advisory GHSA-c9fv-cgmm-2wg7; no active exploitation has been confirmed by CISA KEV at time of analysis.

RemediationAI

Upgrade LibreNMS to version 26.5.0 or later, which contains the vendor-released patch addressing both unsafe exec() call sites (fix commit 868e3b966a; release at https://github.com/librenms/librenms/releases/tag/26.5.0). The advisory recommends two code-level changes: sanitizing all user inputs before passing them to exec() in scripts/composer_wrapper.php, and removing the ability to set executable paths via the web interface in LibreNMS/Alert/Transport/Signal.php - restricting such configuration to CLI-only settings. If immediate upgrade is not possible, disable the Signal transport type in the LibreNMS configuration to eliminate this specific attack surface entirely, with no impact on other transport types. Additionally, audit existing Alert Transport entries for suspicious Path values (particularly those containing ../) or Recipient fields containing shell metacharacters (;, |, &). Restrict access to the Alert Transports administration page to a minimal set of individually accountable administrator accounts, enforced with strong credentials and MFA where possible.

Affected Packages

composer librenms/librenms fix: 26.5.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in composer

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 distributed as the Composer package librenms/librenms. The vulnerability is rooted in CWE-77 (Improper Neutralization of Special Elements used in a Command): the deliverAlert() method in LibreNMS/Alert/Transport/Signal.php constructs a shell command by interpolating two administrator-supplied values - the path to the signal-cli binary and the Recipient field - into a PHP exec() call without sufficient shell metacharacter escaping. A second unsafe exec() call exists in scripts/composer_wrapper.php, which also accepts and executes arguments forwarded from deliverAlert(). The exploit chains both sinks: by substituting ../scripts/composer_wrapper.php as the binary path (a path traversal bypass) and embedding a semicolon-delimited shell payload in the Recipient field, the attacker causes composer_wrapper.php to receive and execute the injected command as a shell argument. The result is execution of any binary accessible to the web server process on the host filesystem. The fix was introduced in release 26.5.0 (commit 868e3b966a) per NVD and the GitHub advisory.

Know when PHP 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 (https://github.com/librenms/librenms) PRIMARY 8.6 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 9.1 CRITICAL

Network-reachable admin panel, no complexity; scope changed to C because exec() breaks from the web app to the host OS; PR:H because admin credentials are required.

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

Primary rating from Vendor (https://github.com/librenms/librenms).

CVSS VectorVendor: https://github.com/librenms/librenms

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

Lifecycle Timeline

3
Analysis Updated
Aug 26, 2026 - 22:44 vuln.today
v2 - CVSS changed
CVSS changed
Aug 26, 2026 - 22:38 NVD
8.6 (HIGH)
CVE Published
Aug 18, 2026 - 17:59 cve.org
HIGH

DescriptionCVE.org

Summary

A vulnerability has been identified that allows an authenticated administrator to execute arbitrary code on the host server. By adding an alert transport entry, an attacker with administrative privileges can execute malicious commands.

Details

The vulnerability is caused by an unsafe exec call in deliverAlert function of LibreNMS/Alert/Transport/Signal.php. Escapes for the path of signal-cli and the Recipient field are insufficient to prevent command-line injection.

The composer_wrapper.php under scripts is also vulnerable to command injection (unsafe exec calls) by passing the injected command as an argument, and it is accepting arguments passed by deliverAlert.

By chaining these unsafe exec calls, malicious admin user can execute any executables in the server's filesystem.

PoC

  1. Under Dashboard -> Alert -> Alert Transports

<img width="282" height="273" alt="image" src="https://github.com/user-attachments/assets/b72f55b0-b782-47d0-b4f7-75f498019345" />

  1. Create a new Alert Transport entry.

a. Select Signal as Transport type. b. Put ../scripts/composer_wrapper.php into Path. c. Put the command to execute under Recipient with ; at the start and the end of string.

<img width="767" height="391" alt="image" src="https://github.com/user-attachments/assets/5e34bfa8-4bd5-40cb-9624-0d40e40ccdc5" />

  1. . Click Save Transport, and after the popup closed, click Test Transport button under Action of the created Alert Transport entry.

<img width="172" height="90" alt="image" src="https://github.com/user-attachments/assets/7f83db07-fbf9-4be6-b247-533a6d7b9828" />

  1. The command is executed.

<img width="532" height="216" alt="image" src="https://github.com/user-attachments/assets/d595b0fe-10cc-4050-b4b9-d290b658689d" />

Impact

This vulnerability allows a malicious actor to achieve Remote Code Execution (RCE), potentially leading to complete system compromise, data exfiltration, or lateral movement within the network.

Remediation Advice

Escape user inputs, and avoid passing them directly into exec function. (scripts/composer_wrapper.php) Avoid setting executable paths directly in web interface. Instead, use a config value, and only allow setting executable paths by command line interface. (LibreNMS/Alert/Transport/Signal.php)

Executive ViewAI

Why It Matters

LibreNMS versions 21.6.0 through 26.4.x contain a remote code execution vulnerability in the Signal alert transport module that allows authenticated administrators to execute arbitrary operating system commands on the monitoring server. Publicly available exploit code with step-by-step instructions exists, significantly lowering the technical barrier to exploitation. Organizations must patch to version 26.5.0 or later immediately to prevent attackers from leveraging compromised administrative credentials to compromise network monitoring infrastructure.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
1.1%
Top 36% exploitable
Prevalence
Medium
widely used open-source network monitoring platform in enterprise and ISP environments
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC Yes
EPSS 1.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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· derived
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

64
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +43
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

Affected Products (CPE)CVE.org

pkg:composer/librenms_librenms

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

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