🔍 Contexte

Publié le 10 juin 2026 par WatchTowr Labs, cet article présente l’analyse technique de deux vulnérabilités découvertes dans Ivanti Sentry (anciennement MobileIron Sentry), une passerelle inline gérant le trafic entre appareils mobiles et systèmes d’entreprise.

🚨 Vulnérabilités identifiées

  • CVE-2026-10520 (CVSS 10/10) : Injection de commandes OS pré-authentifiée dans Ivanti Sentry avant les versions R10.5.2, R10.6.2 et R10.7.1. Permet à un attaquant distant non authentifié d’obtenir une exécution de code à distance avec privilèges root.
  • CVE-2026-10523 : Contournement d’authentification (CWE-288) dans les mêmes versions, permettant la création de comptes administrateurs arbitraires et l’obtention d’un accès administratif complet. Découvert par Bryan Lam.

🛠️ Analyse technique

L’analyse porte sur la comparaison entre les versions Ivanti/MobileIron Sentry 10.5.1 (vulnérable) et 10.5.2 (corrigée).

Le point d’entrée vulnérable est l’endpoint : POST /mics/api/v2/sentry/mics-config/handleMessage

La chaîne d’exploitation implique :

  1. Le contrôleur Spring Boot ConfigServiceController.java accepte un paramètre message fourni par l’utilisateur sans authentification
  2. La méthode handleMessage() dans ConfigServiceHandler.java parse le message en tokens : command, module, xpath, value
  3. La commande execute route vers reqProcessor.handleExecute(xpath, value)
  4. handleExecute() appelle CommonUtilities.executeNativeCommand() qui invoque des méthodes système via réflexion Java
  5. L’entrée utilisateur atteint directement l’exécution de commandes système sans validation

🔧 Correction appliquée

La version corrigée remplace l’entrée utilisateur par une commande hardcodée dans le contrôleur. De plus, la configuration Apache a été mise à jour avec des règles regex bloquant l’accès non authentifié à l’endpoint vulnérable (redirection 302 vers la page de login).

📋 Type d’article

Analyse technique de vulnérabilité avec reproduction de preuve de concept (PoC), diffing de code source entre versions vulnérable et corrigée, et fourniture d’artefacts de détection.

🧠 TTPs et IOCs détectés

TTP

  • T1190 — Exploit Public-Facing Application (Initial Access)
  • T1059 — Command and Scripting Interpreter (Execution)
  • T1078 — Valid Accounts (Defense Evasion)
  • T1068 — Exploitation for Privilege Escalation (Privilege Escalation)

IOC

  • URLs : /mics/api/v2/sentry/mics-config/handleMessageURLhaus
  • CVEs : CVE-2026-10520NVD · CIRCL
  • CVEs : CVE-2026-10523NVD · CIRCL
  • Fichiers : mics.war
  • Fichiers : mics-core-10.5.1-R10.5.1.jar
  • Fichiers : mics-core-10.5.2-R10.5.2.jar
  • Chemins : /mics/login.jsp
  • Chemins : /configuration/system/commandexec

🟡 Indice de vérification factuelle : 50/100 (moyenne)

  • ⬜ labs.watchtowr.com — source non référencée (0pts)
  • ✅ 15296 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 8 IOCs (IPs/domaines/CVEs) (10pts)
  • ⬜ 0/1 IOCs confirmés externellement (0pts)
  • ✅ 4 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ⬜ 0/2 CVE(s) confirmée(s) (0pts)

🔗 Source originale : https://labs.watchtowr.com/more-evidence-that-words-dont-mean-what-we-thought-they-meant-ivanti-sentry-pre-auth-os-command-injection-cve-2026-10520/