Wazuh — это бесплатная платформа с открытым исходным кодом, используемая для предотвращения, обнаружения и реагирования на угрозы. До версии 4.14.5 проблемы в обработке Cluster Distributed API (DAPI) позволяли одноранговому узлу кластера или любому субъекту, способному аутентифицироваться на канале кластера с использованием общего ключа кластера, заставить главный узел десериализовать вызываемый объект, контролируемый злоумышленником, и выполнить его в контролируемом злоумышленником контексте RBAC. Код кластера в `framework/wazuh/core/cluster/common.py` десериализует JSON с помощью `as_wazuh_object()`, который разрешает любой вызываемый объект, пакет верхнего уровня которого — wazuh или api (слишком широкий список разрешений, контролируемый только `ALLOWED_CALLABLES_PACKAGES`), а запросы DAPI, обрабатываемые в framework/wazuh/core/cluster/dapi/dapi.py, принимают предоставленное клиентом значение rbac_permissions, которое `run_local()` применяет в качестве глобального контекста RBAC, поэтому предоставление черного цвета rbac_mode приводит к тому, что проверки авторизации для функций, защищенных Expos_resources, проходят без какого-либо законного назначения разрешений.
В совокупности они позволяют привилегированные административные действия на главном узле, такие как произвольная запись файлов под WAZUH_PATH, создание новых пользователей API и изменение файла security.yaml, и могут быть объединены в полную компрометацию менеджера. Эта проблема исправлена в версии 4.14.5.
Показать оригинальное описание (EN)
Wazuh is a free and open source platform used for threat prevention, detection, and response. Prior to version 4.14.5, issues in the Cluster Distributed API (DAPI) handling allow a cluster peer, or any actor able to authenticate to the cluster channel using the shared cluster key, to make the master node deserialize an attacker-controlled callable and execute it under an attacker-controlled RBAC context. The cluster code in `framework/wazuh/core/cluster/common.py` deserializes JSON with `as_wazuh_object()`, which resolves any callable whose top-level package is wazuh or api (an overly broad allowlist controlled only by `ALLOWED_CALLABLES_PACKAGES`), and DAPI requests handled in framework/wazuh/core/cluster/dapi/dapi.py accept a client-supplied rbac_permissions value that `run_local()` applies as the global RBAC context, so supplying an rbac_mode of black causes authorization checks for expose_resources-protected functions to pass without any legitimate permission assignment. Combined, these allow privileged administrative actions on the master node such as arbitrary file writes under WAZUH_PATH, creation of new API users, and tampering with security.yaml, and can be chained into full manager compromise. This issue has been fixed in version 4.14.5.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Wazuh Wazuh
cpe:2.3:a:wazuh:wazuh:*:*:*:*:*:*:*:*
|
4.0.0
|
4.14.5
|