Severity by source
AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
Attacker must hold the shared cluster key (PR:H) but acts over the network with low complexity; arbitrary file read yields the API key, escaping the DAPI component to compromise the security authority (S:C), giving full C/I/A via forged admin tokens.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
4DescriptionCVE.org
Wazuh is a free and open source platform used for threat prevention, detection, and response. From 4.0.0 until 4.14.6 and 5.0.0-beta3, DistributedAPI.send_tmp_file() in framework/wazuh/core/cluster/dapi/dapi.py joins an attacker-controlled tmp_file value to WAZUH_PATH without canonicalization or confinement. A cluster peer holding the shared Fernet key can use traversal or an absolute path to make the master return any readable file over the cluster channel. Reading /var/ossec/api/configuration/security/private_key.pem allows the peer to forge administrator REST API tokens offline and then exercise administrative privileges without creating an account. This issue is fixed in versions 4.14.6 and 5.0.0-beta3.
AnalysisAI
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 already holds the shared cluster Fernet key coerce the master into returning any file it can read over the encrypted cluster channel. By retrieving /var/ossec/api/configuration/security/private_key.pem, that peer can forge administrator REST API tokens offline and exercise full administrative privileges without ever creating an account. No public exploit identified at time of analysis; the underlying fix is confirmed in the vendor advisory and shipped in 4.14.6 and 5.0.0-beta3.
Technical ContextAI
Wazuh is an open-source XDR/SIEM whose multi-node clusters distribute API operations via a DistributedAPI (DAPI) mechanism, with worker and master nodes authenticating each other using a shared symmetric Fernet key. The flaw is a classic CWE-73 (External Control of File Name or Path): DistributedAPI.send_tmp_file() in framework/wazuh/core/cluster/dapi/dapi.py built the source path as os.path.join(common.WAZUH_PATH, self.f_kwargs['tmp_file']) with no canonicalization or directory confinement. Because os.path.join discards the base when the second argument is absolute - and does not collapse '../' sequences - a caller supplying an absolute path (e.g. /etc/passwd) or a traversal string (e.g. ../api/configuration/security/private_key.pem) makes the master read and stream back an out-of-scope file. The patched code resolves the joined path with os.path.realpath() and rejects anything not confined under common.OSSEC_TMP_PATH. Affected component per CPE is cpe:2.3:a:wazuh:wazuh, specifically clustered installations where DAPI file transfer is reachable.
RemediationAI
Vendor-released patch: upgrade to Wazuh 4.14.6 (https://github.com/wazuh/wazuh/releases/tag/v4.14.6) on the 4.x line, or to 5.0.0-beta3 (https://github.com/wazuh/wazuh/releases/tag/v5.0.0-beta3) if running the 5.0 pre-release; the fix (PR https://github.com/wazuh/wazuh/pull/36246, commit de1eeedbe336744934be4e20d87d84a76e438cee) adds realpath resolution and confinement of tmp_file to the OSSEC tmp directory. Because the vulnerability can already have exposed the API private key, after patching you should rotate /var/ossec/api/configuration/security/private_key.pem (invalidating any forged tokens) and rotate the shared cluster Fernet key, then review authentication_pool/API logs for anomalous admin token use. Where immediate patching is not possible, reduce exposure by strictly firewalling the cluster port (default 1516/tcp) so only trusted node IPs can speak on the cluster channel and by treating every cluster node as a crown-jewel host, since any node holding the shared key can trigger the read - note this network control does not protect against an already-compromised legitimate node, so it is a stopgap, not a substitute for the upgrade.
Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t
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
Path-traversal-driven root code execution affects the Wazuh security platform's cluster synchronization layer in version
Arbitrary file write leading to root remote code execution affects Wazuh worker nodes in clustered deployments running v
A critical deserialization vulnerability in Wazuh's cluster mode allows attackers with access to any worker node to achi
Remote code execution on the Wazuh cluster master node is achievable by any attacker who controls a cluster worker node,
Path traversal in Wazuh's ip-customblock active response script allows low-privileged remote attackers to create or dele
The agent in OSSEC through 3.1.0 on Windows allows local users to gain NT AUTHORITY\SYSTEM access via Directory Traversa
Cluster key disclosure in Wazuh Manager versions 4.0.0 through 4.14.4 enables a two-stage privilege escalation: a low-pr
Unauthenticated remote denial of service in the Wazuh cluster daemon (wazuh-clusterd) allows a network peer to exhaust p
Arbitrary file deletion on a Wazuh manager via the cluster synchronization protocol allows a cluster-authenticated attac
CVE-2024-1243 is an improper input validation vulnerability in Wazuh agent for Windows (versions prior to 4.8.0) that al
Same weakness CWE-73 – External Control of File Name or Path
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-62556