LibreNMS CVE-2026-55182
HIGHAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAcquire LibreNMS admin credentials
-
DeliveryNavigate to Alert Transports admin page
-
ExploitCreate Signal transport with path set to ../scripts/composer_wrapper.php
-
ExecutionInject shell payload in Recipient field using semicolon delimiters
-
PersistClick Test Transport to trigger exec() chain
-
ImpactExecute 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 |
| 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 |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – 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)
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
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
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
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.
Primary rating from Vendor (https://github.com/librenms/librenms).
CVSS VectorVendor: https://github.com/librenms/librenms
Lifecycle Timeline
3DescriptionCVE.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
- Under Dashboard -> Alert -> Alert Transports
<img width="282" height="273" alt="image" src="https://github.com/user-attachments/assets/b72f55b0-b782-47d0-b4f7-75f498019345" />
- 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" />
- . Click
Save Transport, and after the popup closed, clickTest Transportbutton underActionof the created Alert Transport entry.
<img width="172" height="90" alt="image" src="https://github.com/user-attachments/assets/7f83db07-fbf9-4be6-b247-533a6d7b9828" />
- 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
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.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
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
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
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
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
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
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
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
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
GHSA-c9fv-cgmm-2wg7
NVD
CVE.org
EPSS
Exploit-DB