Wazuh, una piattaforma open-source unificata XDR e SIEM, contiene una vulnerabilità critica (CVE-2025-24016) che interessa le versioni >= 4.4.0 e < 4.9.1. Questo problema, derivante da una deserializzazione non sicura, consente l’esecuzione di codice remoto (RCE) attraverso input malevoli verso la DistributedAPI. Data la sua funzione come componente centrale nel monitoraggio della sicurezza IT, lo sfruttamento di questa vulnerabilità comporta rischi significativi per l’integrità e la disponibilità del sistema.
La vulnerabilità ha un punteggio CVSS di 9.9 (Critico) e può essere sfruttata da attaccanti con credenziali API valide. Se le credenziali di default sono ancora in uso, esse possono essere utilizzate per compromettere il sistema. Inoltre, un agente Wazuh compromesso potrebbe fungere da punto d’ingresso per l’attacco. Questa problematica impatta in modo particolare le organizzazioni che si affidano ai cluster Wazuh o a configurazioni in cui gli agenti svolgono ruoli chiave.
| Prodotto | Wazuh |
| Data | 2025-02-18 12:36:09 |
| Informazioni | Trending, Fix Available |
Riassunto tecnico
CVE-2025-24016 deriva dalla deserializzazione non sicura dei parametri di DistributedAPI (DAPI) trattati come oggetti JSON. In particolare, la funzione as_wazuh_object del framework Wazuh non sanitizza correttamente gli input. Un attaccante in possesso di credenziali API valide può iniettare un dizionario non sanitizzato per sfruttare questa vulnerabilità, portando all’esecuzione arbitraria di codice Python.
Scenari di sfruttamento:
-
Accesso API con credenziali valide
- La vulnerabilità può essere attivata inviando una richiesta malevola (ad esempio tramite l’endpoint
run_as). Un attaccante con credenziali valide può controllare interamente il parametroauth_context, che viene inoltrato al server master per l’elaborazione. - Le credenziali di default (es.
wazuh-wui:MyS3cr37P450r.*-) aumentano notevolmente il rischio se non vengono modificate. - Payload malevoli in tali richieste portano a RCE sul server master.
- La vulnerabilità può essere attivata inviando una richiesta malevola (ad esempio tramite l’endpoint
-
Agente compromesso
- Un agente compromesso può inviare una risposta
getconfigartefatta contenente JSON malevolo. - Se questa richiesta si propaga tra i server in un cluster, potrebbe causare deserializzazione non sicura sul server di destinazione.
- Un agente compromesso può inviare una risposta
Dettagli tecnici:
- La vulnerabilità ha origine nel file
framework/wazuh/core/cluster/common.py, dove la funzioneas_wazuh_objectgestisce in modo inadeguato dati JSON serializzati. - Oggetti JSON malevoli, inclusi quelli con attributi come
__unhandled_exc__, possono eseguire codice arbitrario. - Esempi di abuso includono l’iniezione di oggetti
__callable__o l’attivazione di gadget di eccezione per compromettere ulteriormente il sistema.
Raccomandazioni
- Applicare la patch immediatamente
- Aggiorna a Wazuh 4.9.1 o versioni successive, in cui la vulnerabilità è stata completamente risolta. Applica questa patch a tutti i componenti interessati, inclusi server e agenti, seguendo i processi di test e approvazione adottati dall’organizzazione.
- Modificare le credenziali di default
- Verifica che le credenziali di default, come
wazuh-wui:MyS3cr37P450r.*-, siano immediatamente cambiate. Utilizza password forti e uniche per tutti gli account per prevenire accessi non autorizzati.
- Migliorare il monitoraggio
- Implementa meccanismi di logging e rilevamento per identificare richieste API sospette, in particolare verso endpoint come
run_aso richieste DAPI. - Monitora comportamenti anomali degli agenti, come risposte
getconfiginattese.
- Sanitizzazione degli input e rafforzamento della configurazione
- Assicurati che tutti gli input che raggiungono
as_wazuh_objectsiano adeguatamente validati. - Isola i componenti critici all’interno dell’architettura Wazuh per limitare i percorsi di sfruttamento (ad esempio separando le comunicazioni degli agenti dall’accesso API).