Skip to main content

Wazuh CVE-2026-54085

HIGH
Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') (CWE-88)
2026-08-27 GitHub_M
7.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Access Wazuh-monitored log source with low privileges
  2. Delivery
    Inject crafted syslog event containing malicious srcip or dstuser value
  3. Exploit
    Wazuh alert rule triggers active response script
  4. Execution
    Unvalidated field value passed to root-executing OS command
  5. Persist
    Arbitrary arguments injected into firewall or account-management command
  6. Impact
    Firewall rules modified or system account locked

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Argument sanitization
Exploitation Conditions

Exploitation requires the attacker to control or inject content into a log source actively monitored by Wazuh-for example, a syslog daemon, a file Wazuh's agent tails, or a forwarded event stream. At least one active response rule must be configured in ossec.conf and must fire in response to the crafted event; active response is an opt-in feature requiring explicit rule-to-script binding, but is commonly enabled in production deployments. The CVSS PR:L vector indicates low-privilege authenticated access is required, consistent with the need to generate log events from a recognized or reachable source. For the srcip injection path, the triggering rule must invoke one of the five unpatched scripts (route-null, netsh, pf, npf, ipfw). For the dstuser path, the rule must invoke disable-account.c. The Windows-specific unquoted argument path requires the triggered script to be a Windows binary invoked through wpopenv(). Exploitation is constrained to deployments with active response enabled, a reachable log injection point, and applicable rule configurations-these deployment conditions materially limit the realistic at-risk population beyond what the raw CVSS score implies.

Impact

The CVSS 7.1 score (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L) accurately reflects network-reachable exploitation requiring only low-privilege access to a Wazuh-monitored log source, such as the ability to write syslog messages. The high integrity impact corresponds to the ability to inject arguments into root-executed firewall commands, and the low availability impact reflects the ability to lock arbitrary system accounts via disable-account.c. No EPSS score was present in the provided intelligence data, limiting probabilistic exploitation forecasting. This CVE is not in CISA KEV and no public exploit code has been identified, suggesting targeted risk rather than opportunistic mass exploitation. Real-world risk is elevated for any Wazuh deployment with active response rules enabled-a common production configuration-where an attacker can reach a monitored syslog endpoint. The dependency on active response being configured and a rule firing represents a meaningful environmental constraint not captured by the raw CVSS score.

Exploit ScenarioDerived

An attacker with access to a syslog source monitored by Wazuh sends a crafted log entry containing a srcip value of '1.2.3.4 -f /etc/some_config' or a dstuser value with embedded command characters. When a configured active response rule matches the event, Wazuh passes the unvalidated value to a root-executing command such as ipfw or passwd, injecting the extra tokens as additional arguments. On Windows, a srcip containing a space exploits wpopenv()'s unquoted CreateProcess concatenation to append attacker-controlled arguments to the spawned process command line, achieving the same result via a platform-specific code path.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 28, 2026

Argument injection in Wazuh active response scripts (versions 4.2.0-4.14.6) allows a low-privileged network attacker who controls a monitored log source to inject arbitrary arguments into firewall and account-management commands executing as root. Five scripts handling the srcip alert field (route-null.c, netsh.c, pf.c, npf.c, ipfw.c) omit IP format validation, and disable-account.c passes the dstuser field to passwd/chuser with only a root-name check, enabling injection into pfctl, npfctl, ipfw, route, netsh, and passwd. On Windows, unquoted CreateProcess concatenation in wpopenv() amplifies the impact by allowing space-delimited srcip values to append additional process arguments. No public exploit code has been identified at time of analysis, and this CVE is not listed in CISA KEV.

RemediationAI

Upgrade Wazuh to version 4.14.7, which contains the complete fix introduced in commit b7f3a5e59000e4cdef75f397f1107ae3e1c186a9. The patch centralizes and enforces IP validation in get_srcip_from_json() for all active response scripts and adds a comprehensive is_valid_username() validator for the dstuser field. The advisory is available at https://github.com/wazuh/wazuh/security/advisories/GHSA-mvh4-g699-984j. If immediate upgrade is not possible, disabling active response entirely in ossec.conf via <active-response><disabled>yes</disabled></active-response> eliminates the attack surface at the cost of losing all automated threat response capabilities. As a narrower mitigation, restrict which network sources can deliver syslog to Wazuh-monitored daemons using host-based firewall rules or syslog ACLs, reducing the attacker's ability to inject crafted events; note this does not eliminate risk from compromised internal log forwarders.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Wazuh's active response subsystem automatically invokes scripts when alert conditions are matched, passing alert field values-including srcip and dstuser-directly to privileged OS commands. The root cause is CWE-88 (Argument Injection): five of eight affected scripts skip the get_ip_version() check that validates srcip as a legitimate IPv4 or IPv6 address via getaddrinfo() with AI_NUMERICHOST, while disable-account.c performs only a strcmp against 'root' before forwarding dstuser to passwd or chuser. The affected CPE is cpe:2.3:a:wazuh:wazuh:*:*:*:*:*:*:*:*. The fix commit (b7f3a5e) centralizes IP validation in get_srcip_from_json() and introduces is_valid_username(), which rejects empty strings, the reserved name 'root', usernames exceeding 256 characters, names starting with dash/plus/tilde, and characters including colons, commas, whitespace, slashes, and directory-traversal sequences. Windows builds additionally gain -lws2_32 linkage so the newly centralized get_ip_version() can call getaddrinfo() on that platform.

Know when Wazuh 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 (GitHub_M) PRIMARY 7.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
vuln.today AI 7.1 HIGH

AV:N for syslog-based injection delivery; PR:L for required log-source access; I:H for root-command argument injection; A:L for account-locking disruption; C:N as no data is exposed.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
Low

DescriptionCVE.org

Wazuh is an open-source security platform providing unified XDR and SIEM protection for endpoints and cloud workloads. In versions 4.2.0 through 4.14.6, multiple active response scripts pass attacker-influenced alert fields to privileged system commands without validating their format, allowing argument injection into tools that run as root. Five of the eight scripts that handle the srcip field, route-null.c, netsh.c, pf.c, npf.c, and ipfw.c, omit the get_ip_version() check that rejects non-IP input, and disable-account.c passes the dstuser field to passwd/chuser with only a comparison against "root". An attacker who can inject crafted log events, for example via syslog, can supply srcip or dstuser values that, when an active response rule triggers, are passed unvalidated to firewall and account-management commands such as pfctl, npfctl, ipfw, route, netsh, and passwd. This enables injecting additional command arguments, and on Windows the unquoted CreateProcess command-line concatenation in wpopenv() lets a srcip containing spaces add further arguments, while disable-account.c can be abused to lock arbitrary system accounts. This issue is fixed in version 4.14.7.

Executive ViewAI

Why It Matters

Wazuh active response scripts (versions 4.2.0-4.14.6) contain an argument injection flaw that allows attackers who control monitored log sources to execute arbitrary root-level commands affecting firewalls and account management systems. This creates risk of unauthorized network configuration changes, user account manipulation, and lateral movement across the infrastructure.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict write permissions on log sources fed to Wazuh to authenticated systems under strict access controls; (2) Disable active response scripts if not essential to operations; (3) Implement upstream log source validation and sanitization before ingestion into Wazuh; (4) Enable comprehensive logging and real-time alerts on firewall modifications and system account changes; (5) Require change approval workflows for firewall and account management actions as administrative compensating controls.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Medium
popular open-source SIEM/XDR with significant enterprise and MSSP adoption
Exploit
POC
Public exploit code exists
Data Quality
5 sources
Confidence: Medium
NVD CVE.org EPSS Vulnrichment GitHub

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 0.2%
Patch available No
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

56
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

Affected Products (CPE)CVE.org

cpe:2.3:a:wazuh:wazuh:*:*:*:*:*:*:*:*

More in Wazuh

View all
CVE-2025-24016 CRITICAL POC
9.9 Feb 10

Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t

CVE-2021-44079 CRITICAL POC
9.8 Nov 22

In the wazuh-slack active response script in Wazuh 4.2.x before 4.2.5, untrusted user agents are passed to a curl comman

CVE-2026-48024 CRITICAL POC
9.1 Aug 19

Path-traversal-driven root code execution affects the Wazuh security platform's cluster synchronization layer in version

CVE-2026-48162 CRITICAL POC
9.1 Aug 19

Arbitrary file read in Wazuh cluster deployments (4.0.0 through 4.14.5, and 5.0.0-beta1/beta2) lets a peer node that alr

CVE-2026-61800 CRITICAL POC
9.1 Aug 27

Arbitrary file write leading to root remote code execution affects Wazuh worker nodes in clustered deployments running v

CVE-2026-25769 CRITICAL POC
9.1 Mar 17

A critical deserialization vulnerability in Wazuh's cluster mode allows attackers with access to any worker node to achi

CVE-2026-44901 HIGH POC
8.4 Aug 19

Remote code execution on the Wazuh cluster master node is achievable by any attacker who controls a cluster worker node,

CVE-2026-54083 HIGH POC
8.1 Aug 27

Path traversal in Wazuh's ip-customblock active response script allows low-privileged remote attackers to create or dele

CVE-2018-19666 HIGH POC
7.8 Nov 29

The agent in OSSEC through 3.1.0 on Windows allows local users to gain NT AUTHORITY\SYSTEM access via Directory Traversa

CVE-2026-44252 HIGH POC
7.7 Aug 19

Cluster key disclosure in Wazuh Manager versions 4.0.0 through 4.14.4 enables a two-stage privilege escalation: a low-pr

CVE-2026-71540 HIGH POC
7.5 Sep 24

Unauthenticated remote denial of service in the Wazuh cluster daemon (wazuh-clusterd) allows a network peer to exhaust p

CVE-2026-46343 HIGH POC
7.5 Aug 19

Arbitrary file deletion on a Wazuh manager via the cluster synchronization protocol allows a cluster-authenticated attac

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