Une vulnérabilité critique a été découverte dans Ivanti Endpoint Manager Mobile (EPMM), permettant à des attaquants d’exécuter du code sur le serveur sans authentification. Le problème réside dans la manière dont le système valide les entrées avant de vérifier si un utilisateur est autorisé. Ce défaut permet de compromettre l’application simplement en envoyant une requête web spécialement conçue.
| Produit | MobileIron-MDM |
| Date | 20/05/2025 14:04:56 |
| Informations |
|
Résumé technique
Les CVE-2025-4427 et CVE-2025-4428 découlent de la manière dont Ivanti EPMM gère la validation et les contrôles de sécurité dans Spring MVC. Plus précisément :
- Lorsqu’un utilisateur envoie une requête vers des points de terminaison tels que
/api/v2/featureusage, les paramètres de la requête sont associés à un objet de données (DeviceFeatureUsageReportQueryRequest). - Si l’annotation
@Validest utilisée, Spring invoque les validateurs personnalisés commeDeviceFeatureUsageReportQueryRequestValidatoravant de vérifier si l’utilisateur est authentifié ou autorisé. - Au sein de ce validateur, Ivanti utilise
buildConstraintViolationWithTemplate()avec des entrées non filtrées contrôlées par l’attaquant. - Puisque Hibernate Validator peut traiter des expressions EL (par ex.
${3*333}), celles-ci sont évaluées immédiatement dans le contexte du serveur. - Par conséquent, un attaquant peut obtenir une exécution de code à distance (RCE) non authentifiée en injectant des expressions EL malveillantes (Expression Language Injection).
- Un problème similaire existe également dans
ScepSubjectValidator, déclenché lors de l’inscription SCEP aux certificats par un administrateur authentifié. - La vulnérabilité a été introduite en raison d’un défaut fondamental dans l’ordre de validation de Spring : la validation des beans (bean-validation) s’effectue avant les contrôles d’accès
@PreAuthorizede Spring Security.
Exemple :
Une requête GET vers :
GET /api/v2/featureusage?format=${3*333} HTTP/2
renvoie :
Format '999' is invalid. Valid formats are 'json', 'csv'.
confirmant que les expressions EL sont évaluées, même sans authentification.
Recommandations
Les organisations utilisant Ivanti EPMM doivent mettre à jour immédiatement vers l’une des versions corrigées :
- 11.12.0.5
- 12.3.0.2
- 12.4.0.2
- 12.5.0.1
En outre :
- Vérifiez les validateurs personnalisés pour vous assurer qu’ils n’insèrent pas de données non fiables dans les messages d’erreur.
- Désactivez l’évaluation EL dans le rendu des modèles lorsque cela n’est pas nécessaire.
- Assurez-vous que les contrôles d’autorisation s’effectuent toujours avant tout traitement des entrées utilisateur ou toute logique de validation.
[Callforaction-THREAT-Footer]
Leave a Reply