Apache - CVE-2026-104711
Date de publication :
Il s'agit d'une vulnérabilité d'injection d'expression OGNL dans le mapper d'actions RESTful historique (legacy) du framework Apache Struts.
Apache Struts est un framework Java open source de développement d'applications web selon le modèle MVC (Modèle-Vue-Contrôleur). Il gère les actions, les vues et le traitement des requêtes HTTP des applications qui l'embarquent. Il est maintenu par l'Apache Software Foundation.
Une requête HTTP spécialement forgée injecte une expression OGNL (Object-Graph Navigation Language) évaluée côté serveur. Les applications qui utilisent le mapper d'actions par défaut, le mapper restful2 ou le plugin Struts REST ne sont pas concernées. Struts 7 n'est touché que si la liste d'autorisation OGNL est désactivée, alors qu'elle est activée par défaut. Aucune authentification préalable n'est mentionnée par l'éditeur.
Elle permet à un attaquant distant de provoquer l'exécution de code arbitraire sur le serveur.
Informations
La faille est activement exploitée : Non
Un correctif existe : Oui
Une mesure de contournement existe : Oui
Exécution de code arbitraire (à distance)
Exploitation
CWE-917 : Improper Neutralization of Special Elements used in an Expression Language Statement ('Expression Language Injection')
Détails sur l'exploitation
• Vecteur d'attaque : Réseau
• Complexité de l'attaque : Élevée
• Privilèges nécessaires pour réaliser l'attaque : Aucun
• Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
• L'exploitation de la faille permet d'obtenir des droits privilégiés : En attente d’information
Preuve de concept
Actuellement, aucune preuve de concept n'est disponible en sources ouvertes.
Systèmes ou composants affectés
• Apache Struts versions 2.0.0 jusqu'à 2.3.37 (fin de vie)
• Apache Struts versions 2.5.0 jusqu'à 2.5.33 (fin de vie)
• Apache Struts versions 6.0.0 jusqu'à 6.11.0
• Apache Struts versions 7.0.0 jusqu'à 7.3.0, uniquement si la liste d'autorisation OGNL est désactivée
Contournement provisoire
• Struts 6.0.0 jusqu'à 6.11.0 : utiliser le mapper d'actions par défaut, le mapper restful2 ou le plugin Struts REST à la place du mapper RESTful historique
• Struts 7.0.0 jusqu'à 7.3.0 : utiliser le mapper d'actions par défaut, le mapper restful2 ou le plugin Struts REST, ou conserver la liste d'autorisation OGNL activée (configuration par défaut, non affectée)
Solutions ou recommandations
• Apache Struts versions 7.4.0 et supérieures (branche 7.x)
• Aucun correctif n'est listé pour les branches 2.0.0 à 2.3.37 et 2.5.0 à 2.5.33 (fin de vie), l'éditeur recommande de migrer vers 6.12.0 ou 7.4.0 ou de ne plus utiliser le mapper RESTful historique