CVE-2026-45798
PoC moderateUnauthenticated Stack Overflow in Wazuh wazuh-authd Version Parsing (DoS)
Wazuh's compare_wazuh_versions() in src/shared/version_op.c copies the attacker-controlled enrollment 'V:' version field into a 10-byte stack buffer using strncpy() without explicitly null-terminating it (CWE-121/CWE-170). An unauthenticated remote attacker who can reach the wazuh-authd enrollment service on TCP port 1515 — reachable before authentication when anonymous TLS enrollment is enabled — can send a version string of at least nine non-null bytes, causing strchr() and strtok() to read past the buffer and strtok() to write a null byte into adjacent stack memory, producing a remote denial of service (CVSS 3.1: 7.5, availability-only impact). Versions from 4.5.0 before 4.14.6 and the 5.0.0 beta line are affected, with fixes shipping in 4.14.6 and 5.0.0-beta2. Exploitation is not observed in the wild (EPSS 0.5%, 41st percentile; not in CISA KEV), though a public vendor advisory with technical details is available.
What to do: Upgrade the Wazuh manager to 4.14.6 or later (or 5.0.0-beta2 or later on the 5.x line). Until patched, restrict TCP 1515 to trusted agent subnets via firewall rules and disable anonymous TLS enrollment in favor of password- or certificate-based enrollment. Review authd logs and crash/coredump history for oversized or malformed version strings in enrollment requests as an indicator of probing.
| Wazuh | >= 4.5.0, < 4.14.6 (fixed in 4.14.6) |
| Wazuh | 5.0.0 beta line (fixed in 5.0.0-beta2) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
Wazuh is a free and open source platform used for threat prevention, detection, and response. From 4.5.0 until 4.14.6 and 5.0.0-beta2, compare_wazuh_versions() in src/shared/version_op.c copies the attacker-controlled enrollment V: field into a 10-byte stack buffer with strncpy() but does not explicitly terminate the buffer. The function is reachable before authentication through wazuh-authd on TCP port 1515 when anonymous TLS enrollment is enabled. A version string of at least nine non-null bytes can cause strchr() and strtok() to read beyond ver2 and can make strtok() write a null byte into adjacent stack memory, allowing a remote denial of service. This issue is fixed in versions 4.14.6 and 5.0.0-beta2.
- Vendors
- wazuh
- Products
- wazuh
- Weakness
- CWE-121, CWE-170
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
In the news0 stories
No ingested article mentions this CVE yet.