Executive brief
Wazuh is an open-source security platform that protects enterprise endpoints and cloud infrastructure through centralized threat detection and response. A flaw in the REST API allows low-privilege users with read-only roles to retrieve the cleartext cluster authentication key from a configuration endpoint that should redact it. An attacker with this key can impersonate cluster nodes and execute remote code as root across the entire Wazuh cluster, compromising all monitored assets.
Technical details
The vulnerability is a missing security decorator (mask_sensitive_config) on the GET /cluster/local/config endpoint in the REST API. While sibling endpoints like GET /manager/configuration properly mask sensitive fields including the cluster.key for read-only users, the cluster local config endpoint returns the cleartext key unmasked. The root cause is that framework/wazuh/cluster.py imports and uses only expose_resources and async_list_handler, omitting the mask_sensitive_config import needed to redact secrets. An authenticated API user with the default readonly or cluster_readonly role (which explicitly lacks update-config permission) can retrieve the 32-character cluster pre-shared key via network request with no special preconditions. Possession of this key, combined with network access to the cluster port (default 1516), enables authentication as a cluster peer, fulfilling the prerequisite for documented Critical RCE chains (GHSA-m8rw-v4f6-8787, GHSA-r4f7-v3p6-79jm, CVE-2026-25769/25770/30893) that grant root code execution. The patch applies the missing @mask_sensitive_config decorator to the vulnerable endpoint.
Affected products
- Wazuh Wazuh Manager 4.14.0 through 4.14.6
Timeline
- 2026-08-28: disclosed
- 2026-08-28: patched: Fixed in version 4.14.7