Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Cisco-Unified-Communications-Manager-Server-Side-Forgery-Request-Vulnerability-CVE-2026-20230 — Analyse CVE-2026-20230 SSRF vers écriture de fichier arbitraire et RCE dans Cisco Unified Communications Manager, fournissant une dérivation de PoC, une logique de détection et des conseils défensifs. | Kitploit
Outils/GitHubGitHub/w5m1n9/cisco-unified-communications-manager-server-side-forgery-request-vulnerability-cve-2026-20230
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionArticles et RechercheApprentissage et ÉducationRed Teaming
GitHubw5m1n9/cisco-unified-communications-manager-server-side-forgery-request-vulnerability-cve-2026-20230

Cisco-Unified-Communications-Manager-Server-Side-Forgery-Request-Vulnerability-CVE-2026-20230

Analyse CVE-2026-20230 SSRF vers écriture de fichier arbitraire et RCE dans Cisco Unified Communications Manager, fournissant une dérivation de PoC, une logique de détection et des conseils défensifs.

Voir le dépôt
111il y a 2 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-20230 Cisco Unified Communications Manager SSRF Écriture Arbitraire de Fichier vers RCE – Processus de Déduction et Réflexions

Périmètre d'application : Utilisation uniquement sur des environnements de test locaux, des environnements de reproduction autorisés, pour la validation de vulnérabilités et l'analyse de règles de protection. Ne pas utiliser sur des cibles non autorisées. Cet article analyse principalement la chaîne d'exploitation de CVE-2026-20230, les phénomènes vérifiables, la logique de jugement et les approches de protection. Il ne fournit pas de paquets d'attaque, de contenus WebShell ou de charges d'exécution de commandes directement reproductibles.

1. Contexte de la vulnérabilité

CVE-2026-20230 est une vulnérabilité de falsification de requête côté serveur (SSRF) dans Cisco Unified Communications Manager (Unified CM / CUCM) et Cisco Unified Communications Manager Session Management Edition (Unified CM SME). Cette vulnérabilité provient d'une validation insuffisante des entrées dans le traitement de certaines requêtes HTTP. Un attaquant peut, sans authentification, construire une requête permettant à l'appareil affecté d'accéder à des interfaces internes ou à des ressources locales pour le compte de l'attaquant.

L'impact de cette vulnérabilité ne se limite pas à une simple détection SSRF. Des analyses techniques publiques montrent que, sous certaines conditions de version et de services activés, la SSRF peut être enchaînée à une capacité d'écriture arbitraire de fichier. L'attaquant peut écrire du contenu contrôlé dans le système d'exploitation sous-jacent, puis, en exploitant des répertoires accessibles par le conteneur Web ou des mécanismes de chargement de composants serveur, transformer cette écriture en exécution de code.

Cisco a attribué à cette vulnérabilité un score CVSS v3.1 de 8,6, avec le vecteur suivant :

root@kitploit:~
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N

Bien que le score CVSS soit élevé, Cisco a marqué le Security Impact Rating de cette vulnérabilité comme Critique. La raison est qu'une exploitation réussie permet d'écrire dans les fichiers du système d'exploitation sous-jacent, avec une possibilité d'élévation vers les privilèges root.

Il est important de noter que la condition préalable clé pour cette vulnérabilité est que le service WebDialer doit être activé. WebDialer est désactivé par défaut, donc la simple présence d'un actif CUCM ne permet pas de conclure que la vulnérabilité est exploitable. Le jugement réel du risque nécessite de vérifier simultanément la version du produit, l'état des correctifs, l'état du service WebDialer et l'accessibilité des interfaces associées.

2. Pourquoi ne peut-on pas se contenter de vérifier si une interface renvoie 200 ?

Cette vulnérabilité n'est pas une vulnérabilité Web classique du type "l'accès à une URL fixe renvoyant 200 signifie sa présence". Sa chaîne d'exploitation comprend au moins trois niveaux :

  1. Interfaces externes accessibles liées à WebDialer ou cmplatform.
  2. Logique d'accès interne pouvant être affectée par la SSRF.
  3. Comportements d'écriture de fichier ou de déploiement de service pouvant être déclenchés par des requêtes internes.

Par conséquent, accéder isolément à une interface et obtenir un code HTTP 200, 302, 401, 404 ou 500 ne prouve ni l'existence ni l'absence de la vulnérabilité.

Par exemple, le fait que l'interface WSDL de WebDialer soit accessible indique uniquement que la cible expose des fonctionnalités liées à WebDialer, sans prouver qu'une SSRF ultérieure pourra contourner les filtres. De même, l'accessibilité de l'interface installClusterStatusExecute ne prouve pas à elle seule l'écriture arbitraire de fichier. Inversement, si une étape renvoie une anomalie, cela peut être dû à la version cible, aux correctifs, à la résolution du nom d'hôte, aux permissions de chemin, à un proxy ou à l'état du service, sans nécessairement impliquer que la chaîne entière n'existe pas.

Une approche plus fiable consiste à utiliser une combinaison de preuves multi-étapes :

  1. Confirmer que la cible est Cisco Unified CM / Unified CM SME.
  2. Confirmer que le service WebDialer est activé.
  3. Confirmer la possibilité d'obtenir le nom d'hôte réel (hostname) de la cible ou un identifiant de service interne.
  4. Confirmer que le point d'entrée SSRF est accessible et qu'il existe des signes de requêtes internes initiées par le serveur.
  5. Dans un environnement de test autorisé, confirmer la capacité à produire des preuves d'écriture de fichier contrôlé.
  6. Combiner les journaux du serveur, les modifications du système de fichiers, les journaux du conteneur Web et les données d'alerte pour déterminer si un déclenchement a réellement eu lieu.

Ce n'est que lorsque "WebDialer activé + version affectée + comportement SSRF établi + écriture de fichier contrôlé établie" sont tous présents que l'on doit considérer la vulnérabilité comme hautement fiable et exploitable.

3. Approche de construction du PoC

Le cœur de la chaîne d'exploitation publique actuelle n'est pas simplement une SSRF, mais une combinaison de la SSRF avec les mécanismes Axis/Java Web Service, l'écriture de journaux ou le traitement de fichiers de descripteurs de déploiement.

L'approche globale peut être résumée ainsi :

root@kitploit:~
Récupération d'informations via WebDialer
    ↓
Obtention du nom d'hôte réel de la cible
    ↓
Déclenchement de la SSRF via une interface liée à cmplatform
    ↓
Accès aux chemins internes de gestion WebDialer / Axis
    ↓
Écriture ou déploiement de descriptions de services contrôlés
    ↓
Création d'une nouvelle capacité de service invocable ou d'écriture de fichier
    ↓
Transformation de la capacité d'écriture en script accessible via le Web
    ↓
Atteinte, dans des environnements spécifiques, de l'exécution de commandes

Du point de vue de la conception de la chaîne, le nom d'hôte (hostname) est un élément clé. Certaines logiques de filtrage bloquent les adresses locales courantes comme 127.0.0.1 ou localhost, mais le nom d'hôte réel de la cible peut être autorisé à entrer dans le flux de requêtes suivant. Par conséquent, le PoC commence par extraire le nom d'hôte réel des informations WSDL de WebDialer, puis l'utilise comme préfixe d'accès interne dans la chaîne SSRF.

Le deuxième point clé concerne la logique liée au service Axis. Le PoC ne télécharge pas directement des fichiers dans un répertoire Web, mais utilise la chaîne de traitement interne du serveur pour que les composants serveur écrivent du contenu contrôlé par l'attaquant dans un chemin spécifique. Ce processus est essentiellement une combinaison de "requête interne côté serveur + comportement d'écriture de journal/config de composant + traversée de chemin/contrôle de chemin".

Le troisième point clé est l'écriture en deux phases. La première phase établit généralement un point d'entrée plus stable pour l'écriture de fichier, tandis que la seconde phase écrit le script d'exécution de commandes dans un répertoire accessible via le Web. Cette approche est adoptée car écrire directement la logique complète d'exécution de commandes via une seule étape SSRF peut être affecté par des problèmes d'encodage, de longueur, de structure XML, de permissions de chemin et de comportement de parsing serveur. Une approche en deux phases facilite la fragmentation des charges complexes.

Cet article ne fournit pas de paquets d'exploitation complets ni de contenus WebShell. Pour la protection et la validation, il suffit de comprendre les caractéristiques principales suivantes :

root@kitploit:~
Point d'entrée de requête externe : interface liée à l'état d'installation cmplatform
Point d'entrée de récupération d'informations : interfaces WebDialer WSDL / services
Cible de redirection interne : chemins WebDialer / Axis / AdminService
Comportements clés : SSRF, requêtes internes côté serveur, écriture de fichier contrôlé, atterrissage de fichier accessible via le Web
Risques finaux : écriture arbitraire de fichier, atterrissage de WebShell, exécution de commandes, chemin d'élévation vers les privilèges root

4. Logique d'obtention du nom d'hôte

Le PoC doit d'abord obtenir le nom d'hôte réel (hostname) de la cible, et non simplement utiliser l'adresse IP ou le nom de domaine externe.

La raison est que la logique de filtrage SSRF ne se limite pas à vérifier la destination finale de la connexion, mais peut également valider le champ hostname, la chaîne d'URL, les mots-clés d'adresse locale, etc. Les adresses locales courantes comme 127.0.0.1 ou localhost peuvent être bloquées, tandis que le nom d'hôte réel de l'appareil peut, dans certains scénarios, être considéré comme un nom de nœud légitime.

Les interfaces pouvant aider à ce jugement sont généralement liées aux informations WSDL de WebDialer. Après avoir accédé à ce type de WSDL, la réponse peut contenir une adresse de service, un champ location ou d'autres identifiants d'hôte analysables. Le PoC extrait le hostname de l'URL dans le texte de réponse et l'utilise comme cible d'accès interne pour la phase SSRF suivante.

Les critères de jugement à cette étape doivent être :

  1. L'interface WSDL est-elle accessible ?
  2. Le contenu de la réponse correspond-il aux caractéristiques du service WebDialer / Axis ?
  3. Est-il possible d'extraire le hostname réel de la réponse ?
  4. Le hostname extrait est-il différent de l'adresse IP ou du domaine d'accès externe ?
  5. Ce hostname peut-il être accepté par le point d'entrée SSRF suivant ?

Si l'extraction du hostname échoue, le PoC peut revenir à l'adresse IP cible, mais cela réduit considérablement le taux de réussite. Dans un environnement réel, les raisons courantes d'échec d'extraction du hostname incluent : WebDialer non activé, interface restreinte par le contrôle d'accès, réponse modifiée par un proxy inverse, certificat ou configuration de service incomplète.

5. Phase de déclenchement de la SSRF

Le point de déclenchement de la SSRF se situe dans la logique d'interrogation de l'état d'installation liée à cmplatform. Cette fonctionnalité est conçue pour interroger l'état d'installation des nœuds du cluster. Le serveur assemble une requête interne en fonction de l'identifiant de nœud ou du hostname soumis par l'utilisateur.

Le problème central de la vulnérabilité est que le paramètre hostname, contrôlable par l'attaquant, n'est pas strictement limité à un nom de nœud légitime ou à un hôte de confiance, ce qui permet de le construire en un chemin d'accès interne plus complexe. Le serveur envoie ensuite une requête à l'interface interne pour le compte de l'attaquant.

À ce stade, l'élément clé n'est pas "pouvoir accéder à une URL externe", mais "pouvoir faire en sorte que l'appareil CUCM lui-même accède à ses interfaces de gestion WebDialer / Axis internes accessibles". Par conséquent, la valeur de la SSRF provient de deux aspects :

  1. Contournement des restrictions d'accès réseau externes pour atteindre des chemins de service accessibles uniquement par la machine locale ou des composants internes.
  2. Exploitation de la confiance entre services internes pour transformer des paramètres HTTP ordinaires en opérations de composants internes.

Dans une validation autorisée, il ne faut pas se fier uniquement au code de statut HTTP pour juger du succès de la SSRF. Des preuves plus fiables incluent :

  1. Présence, dans les journaux du serveur, d'enregistrements d'accès à des chemins internes.
  2. Apparition de caractéristiques d'interface interne dans le contenu de la réponse à la requête.
  3. Apparition de services nouveaux ou anormaux sur la page services de WebDialer.
  4. Création de fichiers anormaux dans le système de fichiers par des processus serveur.
  5. Enregistrement, par des dispositifs de sécurité, de paramètres hostname contenant des chemins anormaux, du contenu encodé ou des chemins de service interne.

6. Écriture via service Axis et approche d'écriture arbitraire de fichier

Dans la chaîne publique, la SSRF est ensuite utilisée pour accéder aux interfaces de service Axis et tenter d'écrire du contenu de descripteur de déploiement de service. L'attaquant construit une structure XML/WSDD spéciale pour que les composants serveur écrivent du contenu contrôlé dans un chemin spécifié lors du traitement.

Cette étape n'est pas un téléchargement de fichier traditionnel, mais un abus de la logique de traitement des composants serveur :

root@kitploit:~
Paramètres contrôlables par l'utilisateur
    ↓
Requête interne SSRF
    ↓
Traitement par le service Axis / Web
    ↓
Écriture de descripteurs de déploiement contrôlés ou de journaux
    ↓
Génération de fichier à un chemin spécifié

D'un point de vue d'analyse de sécurité, plusieurs points clés sont à noter :

  1. Le chemin cible de l'écriture doit généralement traverser pour atteindre un répertoire accessible par le conteneur Web.
  2. Le contenu écrit doit respecter le format de traitement du composant serveur, sinon seuls des fichiers invalides seront produits.
  3. Le propriétaire et les permissions du fichier écrit dépendent du processus Tomcat / CUCM.
  4. Si l'emplacement d'écriture est accessible via le Web, l'écriture de fichier peut être transformée en exécution de script.
  5. Même si l'emplacement n'est pas exécutable, cela peut toujours causer une pollution de configuration, une persistance ou créer des conditions d'élévation de privilèges ultérieure.

Par conséquent, le point dangereux de CVE-2026-20230 n'est pas seulement la SSRF, mais le fait que la SSRF puisse franchir la frontière de confiance, entrer dans la chaîne de déploiement interne de gestion/service, et finalement déclencher une écriture de fichier contrôlé.

7. Logique d'écriture de WebShell en deux phases

La conception du PoC adopte généralement une écriture en deux phases plutôt qu'une exécution de commande en une seule étape.

La première phase sert à créer une capacité simple d'écriture de fichier. L'objectif est de permettre à l'attaquant d'écrire du contenu dans un emplacement spécifié du serveur via un chemin accessible par le Web.

La deuxième phase utilise la capacité d'écriture de la première phase pour écrire un script d'exécution de commandes dans un répertoire accessible par le Web. Ensuite, l'attaquant peut déclencher l'exécution de commandes système via des paramètres HTTP.

Les avantages de la conception en deux phases sont :

  1. Réduction de la complexité de la charge utile dans une seule requête SSRF.
  2. Éviter que l'encodage XML, l'encodage URL ou l'échappement de caractères spéciaux n'endommagent la charge utile.
  3. Séparation du "déploiement du service" et de "l'écriture du fichier d'exécution final", facilitant le débogage.
  4. Permet d'ajuster plus facilement le point d'atterrissage sur différents chemins cibles.
  5. Découple la phase d'exécution de commandes ultérieure de la phase SSRF.

Mais du point de vue défensif, l'écriture en deux phases offre également une surface de détection plus claire :

  1. La première requête anormale tente généralement de créer un nouveau service ou d'écrire un JSP intermédiaire.
  2. La deuxième requête anormale accède généralement au JSP intermédiaire et transporte des paramètres tels que le nom de fichier et le contenu.
  3. La troisième phase accède au JSP final d'exécution de commandes et transporte un mot de passe d'authentification ou des paramètres de commande.
  4. Les journaux d'accès Web montrent une succession rapide d'accès à des chemins comme WebDialer, services, axis2-web, platform-services.
  5. Le système de fichiers peut contenir des JSP anormaux, des noms de service anormaux, des fichiers journaux anormaux ou de nouvelles ressources Web.

8. Flux d'exécution complet du PoC actuel

Le flux du PoC actuel peut être résumé comme suit :

  1. Analyser l'adresse cible.
  2. Accéder au WSDL de WebDialer, tenter d'extraire le hostname réel.
  3. Construire une requête SSRF visant les chemins de gestion WebDialer / Axis internes.
  4. Écrire du contenu lié au service Axis via la requête interne.
  5. Accéder à la page services, vérifier si le service anormal a été déployé avec succès.
  6. Invoquer le nouveau service pour écrire le script d'écriture de fichier de première phase.
  7. Accéder au script de première phase pour écrire le script d'exécution de commandes de deuxième phase.
  8. Accéder au script de deuxième phase pour exécuter une commande de test.
  9. Juger du succès de l'exploitation en fonction de la réponse HTTP, de l'atterrissage du fichier et de la sortie de la commande.

Du point de vue du taux de succès de l'exploitation, les points de défaillance les plus critiques sont généralement :

  1. WebDialer non activé.
  2. Échec de l'extraction du hostname ou filtrage.
  3. La requête SSRF n'atteint pas réellement le service interne.
  4. Échec du déploiement du service Axis.
  5. Le point d'atterrissage de la traversée de chemin n'est pas adapté à la version cible.
  6. Le répertoire Web n'est pas accessible en écriture ou le script n'est pas exécuté.
  7. La cible a été corrigée ou utilise le correctif temporaire de Cisco.
  8. Les proxies, WAF, EDR ou la surveillance de l'intégrité des fichiers bloquent les étapes intermédiaires.

Par conséquent, ce PoC a une exploitabilité élevée sur les versions affectées spécifiques avec des chemins par défaut correspondants, mais n'est pas un one-shot stable pour tous les actifs CUCM.

9. Logique de jugement du succès

Le jugement du succès de CVE-2026-20230 ne doit pas se limiter à vérifier si le script s'est terminé. Une approche plus raisonnable consiste à le diviser en quatre niveaux.

Premier niveau : Cible suspectée d'exposition

Conditions :

root@kitploit:~
WSDL de WebDialer accessible
ou page services accessible
ou interface liée à cmplatform accessible

Cela indique seulement que la cible présente une surface d'attaque potentielle, sans prouver que la vulnérabilité est exploitable.

Deuxième niveau : Vulnérabilité suspectée

Conditions :

root@kitploit:~
Version cible dans la plage affectée
WebDialer activé
Hostname peut être extrait
Point d'entrée SSRF renvoie une réponse anormale mais raisonnable du serveur

Dans ce cas, il convient de poursuivre la validation avec les journaux serveur ou dans un environnement de test autorisé.

Troisième niveau : Écriture de fichier confirmée

Conditions :

root@kitploit:~
Après SSRF, apparition d'un fichier contrôlé côté serveur
ou apparition, dans le répertoire Web, d'un fichier anormal créé par un processus serveur
ou apparition d'un nouveau service anormal sur la page services
ou présence, dans les journaux, de contenu descriptif de déploiement contrôlé

À ce niveau, on peut confirmer que la chaîne de vulnérabilité a dépassé la phase SSRF ordinaire et est entrée dans le risque d'écriture arbitraire de fichier.

Quatrième niveau : RCE confirmée

Conditions :

root@kitploit:~
Le script écrit, accessible via le Web, est interprété et exécuté avec succès
et il est possible d'observer le résultat de l'exécution côté serveur via une commande de test autorisée

Seul ce niveau permet de juger qu'une exécution de commande à distance est établie. L'écriture réussie d'un fichier n'entraîne pas nécessairement une RCE, mais dans un environnement de service à haute privilège comme CUCM, l'écriture de fichier constitue déjà un risque sérieux.

10. Exemple d'utilisation

Cet article ne fournit pas d'exemple d'exécution d'exploit directement utilisable pour une attaque.

Dans un environnement autorisé, il est recommandé d'utiliser des méthodes de "vérification en lecture seule" ou de "validation non destructive", par exemple :

root@kitploit:~
python3 CVE-2026-20230-check.py https://127.0.0.1 --check

Les éléments de vérification suggérés incluent :

  1. La cible est-elle Cisco Unified CM / Unified CM SME ?
  2. Le service WebDialer est-il activé ?
  3. Le WSDL est-il accessible ?
  4. La page services est-elle exposée ?
  5. La version cible est-elle inférieure à la version corrigée ?
  6. Existe-t-il des traces d'écriture de nouveaux JSP anormaux, de nouveaux services Axis anormaux ou de journaux anormaux ?

Il n'est pas recommandé d'exécuter une validation complète d'écriture de fichier ou d'exécution de commandes sur des systèmes de production. Même pour des tests autorisés, il est préférable de les réaliser d'abord dans des environnements de test isolés, des environnements avec snapshots ou selon les processus de validation recommandés par le fournisseur.

11. Limites de sécurité dans la conception du PoC

Les limites de sécurité de ce type de PoC doivent être clairement définies.

Premièrement, l'exécution de commandes ne doit pas être effectuée par défaut. La phase d'exécution de commandes est une validation à haut risque, susceptible de modifier l'état du système, de polluer les journaux, de provoquer des anomalies de service ou de déclencher des réponses en chaîne des dispositifs de sécurité.

Deuxièmement, l'écriture de WebShell ne doit pas être effectuée par défaut. Même s'il s'agit d'un fichier de test, il peut être considéré comme une intrusion réelle par les EDR, les solutions anti-WebShell, la surveillance de l'intégrité des fichiers ou les systèmes d'audit de conformité.

Troisièmement, ne pas effectuer de détection massive sur des cibles Internet publiques. Cette vulnérabilité ne nécessite pas d'authentification, et les cibles sont souvent des infrastructures de communication d'entreprise. L'analyse et l'exploitation non autorisées présentent un risque extrêmement élevé.

Quatrièmement, le mode de vérification doit être séparé du mode d'exploitation. Il est recommandé de diviser le PoC en deux scripts : un pour l'identification de l'actif et l'évaluation de l'état du service, et un autre pour la validation de l'écriture de fichier uniquement dans un environnement de test local ou explicitement autorisé.

Cinquièmement, la portée cible doit être limitée. Le PoC peut inclure des mécanismes de protection tels que les adresses locales, les plages de réseaux privés, les noms de domaine de la liste blanche, les paramètres de confirmation d'autorisation, afin d'éviter d'impacter par erreur des systèmes tiers.

Sixièmement, la phase RCE doit être désactivée par défaut. Même si le code de recherche est conservé, l'utilisateur doit explicitement fournir un paramètre de confirmation d'autorisation avant d'autoriser l'entrée dans la phase d'écriture de fichier ou d'exécution de commandes.

12. Enseignements pour la conception de règles de protection

Du point de vue de la détection du trafic, il ne faut pas se contenter de chercher un nom de fichier, un nom de service ou un nom de JSP fixe. Les noms de service, de fichier et les chemins du PoC public peuvent être modifiés, et une règle basée sur une chaîne unique peut facilement passer à côté.

Une approche de détection plus raisonnable consiste à extraire des caractéristiques par étapes de la chaîne d'attaque.

Première catégorie : Phase de collecte d'informations

Points d'attention :

root@kitploit:~
/webdialer/Version.jws?wsdl
/webdialer/services
WSDL de WebDialer
Liste des services Axis

Si, en peu de temps, un client externe accède au WSDL puis aux interfaces d'état d'installation de cmplatform, le niveau de risque doit être augmenté.

Deuxième catégorie : Phase de déclenchement SSRF

Points d'attention :

root@kitploit:~
/cmplatform/installClusterStatusExecute
action=clusterNodeInstallStatus
Augmentation anormale du paramètre hostname
Présence de séparateurs de chemin encodés en URL dans le paramètre hostname
Présence dans le paramètre hostname de caractéristiques de chemins internes comme webdialer, services, AdminService, platformcom, installstages

À cette étape, le paramètre hostname ne ressemble plus à un nom d'hôte normal, mais présente des caractéristiques de chemin, d'URL, d'encodage et de XML.

Troisième catégorie : Phase d'injection Axis / WSDD

Points d'attention :

root@kitploit:~
deployment
wsdd
java:RPC
requestFlow
LogHandler
allowedMethods
className
fileName
writeToConsole

Si ces champs apparaissent simultanément, il faut fortement suspecter une tentative d'écriture de contenu contrôlé via le fichier de descripteur de déploiement du service Axis.

Quatrième catégorie : Phase d'écriture de fichier

Points d'attention :

root@kitploit:~
axis2-web
platform-services
Écriture de fichiers JSP
Présence dans les paramètres d'une combinaison nom de fichier et contenu
Traversée de chemin vers le répertoire Web
common/log/taos-log-a
tomcat/webapps

Si le trafic d'attaque contient de nombreux ../, des traversées de chemin encodées en URL, des extensions JSP et des chemins Tomcat WebApp, cela doit être considéré comme à haut risque.

Cinquième catégorie : Phase d'exécution de commandes

Points d'attention :

root@kitploit:~
Nouveau JSP accédé
Présence dans les paramètres de la requête de paramètres de commande comme pwd, cmd, command, exec, i
Présence dans la réponse de formats de sortie de commandes système
Même IP source effectuant successivement en peu de temps les actions : obtention WSDL, SSRF, écriture, exécution

Du point de vue de la conception des règles, il est recommandé d'utiliser une détection par phases :

  1. Collecte d'informations WebDialer : alerte faible ou moyenne.
  2. Hostname anormal dans cmplatform SSRF : alerte haute.
  3. Caractéristiques combinées Axis/WSDD/LogHandler : alerte critique.
  4. Écriture de fichier JSP ou paramètres d'exécution de commandes : alerte critique.
  5. Correspondance multi-étapes : directement promu en événement d'intrusion.

13. Recommandations pour l'investigation et la collecte de preuves

Lors d'une réponse à incident, il est recommandé de vérifier les emplacements et phénomènes suivants :

  1. Les journaux d'accès WebDialer contiennent-ils des énumérations anormales de WSDL et de services ?
  2. Les journaux d'accès cmplatform contiennent-ils des requêtes anormales à installClusterStatusExecute ?
  3. Le paramètre hostname contient-il des encodages URL, des traversées de chemin, Axis, WSDD, LogHandler, etc. ?
  4. Des fichiers JSP anormaux sont-ils apparus dans le répertoire Web ?
  5. La page des services Axis ou la configuration contient-elle des noms de service anormaux ?
  6. Les journaux Tomcat, les journaux des services de plateforme contiennent-ils des descripteurs de déploiement anormaux, des erreurs d'analyse XML ou des enregistrements d'écriture de chemin ?
  7. Des fichiers de test ou inconnus sont-ils apparus dans /tmp, les répertoires WebApp, les répertoires de journaux ?
  8. Existe-t-il des accès continus multi-étapes provenant de la même IP source en peu de temps ?
  9. Y a-t-il des traces anormales d'exécution de commandes système, des enregistrements de création de processus ou des comportements liés à un shell ?
  10. Existe-t-il des fichiers anormaux liés aux privilèges root, des tâches planifiées, des éléments de démarrage ou des traces de persistance ?

Si une compromission est suspectée, il faut d'abord isoler l'accès à la surface de gestion, conserver les journaux et les preuves du système de fichiers, puis procéder à la mise à jour des correctifs, au nettoyage des WebShells, à la suppression des services anormaux et à la rotation des comptes/mots de passe.

14. Recommandations de correction et d'atténuation

La solution fondamentale est de passer à la version corrigée officielle de Cisco ou d'appliquer le correctif temporaire fourni par le constructeur.

Les recommandations générales de traitement sont les suivantes :

  1. Confirmer immédiatement la version d'Unified CM / Unified CM SME.
  2. Vérifier si le service WebDialer est activé.
  3. Si le métier n'a pas besoin de WebDialer, désactiver immédiatement ce service.
  4. Mettre à jour vers la version corrigée officielle de Cisco.
  5. Pour les environnements Release 15 ne pouvant pas être mis à jour immédiatement, appliquer le fichier COP correspondant selon les instructions de Cisco.
  6. Restreindre l'accès à la surface de gestion et aux services liés à WebDialer.
  7. Ajouter des règles de détection sur les périphériques de périmètre, WAF, IDS/IPS pour les requêtes anormales vers cmplatform, WebDialer, Axis/WSDD.
  8. Vérifier si des JSP anormaux, des services Axis anormaux ou des fichiers inconnus sont déjà apparus.
  9. Effectuer une rétrospection des journaux pour les systèmes exposés, en couvrant particulièrement les enregistrements après le 3 juin 2026.
  10. Si des preuves d'écriture de fichier ou d'exécution de commandes sont trouvées, traiter le système comme compromis, ne pas se limiter à la mise à jour des correctifs.

15. Conclusion

L'élément clé de CVE-2026-20230 n'est pas l'exposition d'une seule interface, mais la défaillance de la frontière de confiance entre WebDialer de CUCM, la logique d'interrogation de l'état d'installation de cmplatform, le traitement interne du service Axis et la capacité d'écriture de fichier, qui forment une chaîne exploitable.

Cette chaîne peut être résumée comme suit :

root@kitploit:~
Requête externe non authentifiée
    ↓
Confirmation de la surface d'exposition WebDialer
    ↓
Obtention du hostname réel
    ↓
SSRF via cmplatform
    ↓
Accès au service interne Axis
    ↓
Écriture de descripteurs de service contrôlés ou de journaux
    ↓
Atterrissage de fichier accessible via le Web
    ↓
Risque d'exécution de commandes et d'élévation vers les privilèges root

L'exploitabilité réelle dépend de l'activation de WebDialer, de la version cible affectée, de la possibilité de contourner le filtrage du hostname, de la correspondance du point d'atterrissage du chemin, de l'exécution du fichier écrit par le conteneur Web, et de l'application ou non du correctif sur la cible.

Du point de vue défensif, il ne faut pas se fier uniquement à la "présence d'un fichier JSP" pour juger d'une attaque. Une approche plus fiable consiste à effectuer une détection corrélée sur la chaîne multi-étapes : collecte d'informations WSDL, hostname anormal dans cmplatform, caractéristiques Axis/WSDD, écriture avec traversée de chemin, accès au JSP atterri et accès aux paramètres de commande. Si plusieurs de ces étapes se produisent consécutivement en peu de temps depuis la même source, cela doit être traité comme un événement d'intrusion à haut risque.

Références

  • Avis de sécurité Cisco : Vulnérabilité de falsification de requête côté serveur dans Cisco Unified Communications Manager
  • NVD : CVE-2026-20230
  • SSD Secure Disclosure : Cisco Unified Communications Manager – Écriture arbitraire de fichier vers RCE
  • Documentation officielle de mise à jour et correctifs COP pour Cisco Unified CM / Unified CM SME
Télécharger l’outil