Vulnérabilité critique d’exécution de code à distance dans Wazuh – CVE-2025-24016

Wazuh, une plateforme XDR et SIEM unifiée open-source, contient une vulnérabilité critique (CVE-2025-24016) affectant les versions >= 4.4.0 et < 4.9.1. Ce problème, découlant d’une désérialisation non sécurisée, permet l’exécution de code à distance (RCE) via des entrées malveillantes transmises à la DistributedAPI. Compte tenu de son rôle central dans la surveillance de la sécurité informatique, l’exploitation de cette vulnérabilité présente des risques significatifs pour l’intégrité et la disponibilité du système.

La vulnérabilité affiche un score CVSS de 9,9 (Critique) et peut être exploitée par des attaquants disposant d’identifiants API valides. Si les identifiants par défaut sont toujours utilisés, ils peuvent servir à compromettre le système. De plus, un agent Wazuh compromis pourrait servir de point d’entrée pour l’attaque. Ce problème impacte particulièrement les organisations qui s’appuient sur des clusters Wazuh ou sur des configurations où les agents jouent des rôles clés.

ProduitWazuh
Date18-02-2025 12:36:09
Informations
  • Tendance
  • Correctif disponible

Résumé technique

La CVE-2025-24016 provient d’une désérialisation non sécurisée des paramètres de la DistributedAPI (DAPI) traités comme des objets JSON. Plus précisément, la fonction as_wazuh_object du framework Wazuh ne nettoie pas correctement les entrées. Un attaquant possédant des identifiants API valides peut injecter un dictionnaire non nettoyé pour exploiter cette vulnérabilité, conduisant à l’exécution arbitraire de code Python.

Scénarios d’exploitation :

  1. Accès API avec identifiants valides

    • La vulnérabilité peut être déclenchée en envoyant une requête malveillante (par exemple via le point de terminaison run_as). Un attaquant doté d’identifiants valides peut contrôler entièrement le paramètre auth_context, qui est transmis au serveur maître pour traitement.
    • Les identifiants par défaut (ex. wazuh-wui:MyS3cr37P450r.*-) augmentent considérablement le risque s’ils ne sont pas modifiés.
    • Des charges utiles (payloads) malveillantes dans ces requêtes entraînent une RCE sur le serveur maître.
  2. Agent compromis

    • Un agent compromis peut envoyer une réponse getconfig contrefaite contenant du JSON malveillant.
    • Si cette requête se propage entre les serveurs d’un cluster, elle pourrait provoquer une désérialisation non sécurisée sur le serveur de destination.

Détails techniques :

  • La vulnérabilité trouve son origine dans le fichier framework/wazuh/core/cluster/common.py, où la fonction as_wazuh_object gère de manière inadéquate les données JSON sérialisées.
  • Des objets JSON malveillants, y compris ceux comportant des attributs tels que __unhandled_exc__, peuvent exécuter du code arbitraire.
  • Les exemples d’abus incluent l’injection d’objets __callable__ ou l’activation de gadgets d’exception pour compromettre davantage le système.

Recommandations

  1. Appliquer le correctif immédiatement
  • Mettez à jour vers Wazuh 4.9.1 ou une version ultérieure, dans laquelle la vulnérabilité a été entièrement résolue. Appliquez ce correctif à tous les composants concernés, y compris les serveurs et les agents, en suivant les processus de test et d’approbation adoptés par votre organisation.
  1. Modifier les identifiants par défaut
  • Vérifiez que les identifiants par défaut, tels que wazuh-wui:MyS3cr37P450r.*-, sont immédiatement modifiés. Utilisez des mots de passe forts et uniques pour tous les comptes afin de prévenir les accès non autorisés.
  1. Améliorer la surveillance
  • Mettez en œuvre des mécanismes de journalisation et de détection pour identifier les requêtes API suspectes, en particulier vers des points de terminaison comme run_as ou les requêtes DAPI.
  • Surveillez les comportements anormaux des agents, tels que des réponses getconfig inattendues.
  1. Nettoyage des entrées et renforcement de la configuration
  • Assurez-vous que toutes les entrées atteignant as_wazuh_object sont correctement validées.
  • Isolez les composants critiques au sein de l’architecture Wazuh pour limiter les vecteurs d’exploitation (par exemple, en séparant les communications des agents de l’accès API).

[Callforaction-THREAT-Footer]

Leave a Reply

Your email address will not be published. Required fields are marked *