Impact
Wazuh uses a Cluster Distributed API to coordinate nodes. Prior to version 4.14.5, the deserialization logic in framework/wazuh/core/cluster/common.py accepts any callable whose top‑level package is listed in an overly broad allowlist. An attacker who can authenticate to the cluster channel using the shared cluster key can craft a JSON payload that, when deserialized, invokes a privileged method on the master node. Because the DAPI request handler also accepts a client supplied rbac_permissions value that is applied as the global RBAC context, an attacker can force the authorization checks to run under a black‑hat context and bypass permission requirements. The combination permits arbitrary file writes under WAZUH_PATH, creation of API users, tampering with security.yaml, and can be chained into full manager compromise. This is a classic deserialization vulnerability identified by CWE‑502.
Affected Systems
All publicly released versions of Wazuh prior to 4.14.5 are vulnerable. The issue appears in the core cluster components found in the wazuh distribution. Any deployment using an older Wazuh version or unpatched master node is exposed.
Risk and Exploitability
The CVSS score of 8.4 indicates a high severity with the potential for full administrative takeover. The EPSS score of 0.00187 indicates a very low likelihood of exploitation, though the vulnerability can still be leveraged by any cluster node that shares the cluster key; insider or compromised node actors can trigger it. The vulnerability is not yet listed in the CISA KEV catalog. Attackers could leverage internal cluster communication or a compromised peer to send the malicious payload, requiring only authentication to the cluster channel.
OpenCVE Enrichment