9 octobre 2018

Apache Struts, une nouvelle faille critique

Struts : Aperçu Bien avant la faille de sécurité Log4Shell, une autre faille critique, baptisée Apache Struts, a défrayé la chronique. Apache Struts est un framework développé par la fondation Apache qui permet de développer des applications web en Java. Les fonctionnalités de ce framework peuvent être étendues par l’utilisation de plugins, comme un analyseur […]

Cybersécurité
Logo
logo Struts cybersécurité

Struts : Aperçu

Bien avant la faille de sécurité Log4Shell, une autre faille critique, baptisée Apache Struts, a défrayé la chronique. Apache Struts est un framework développé par la fondation Apache qui permet de développer des applications web en Java. Les fonctionnalités de ce framework peuvent être étendues par l’utilisation de plugins, comme un analyseur syntaxique de JSON ou un module facilitant la création d’API REST. Pour ce qui est de l’architecture, Struts adopte une approche Model-Vue-Contrôleur. Cependant, une des spécificités de Struts est que les contrôleurs sont appelés des actions et possèdent l’extension de fichier « .action ». Un indice valable lors de la réalisation de tests d’intrusion d’une application web…

Struts : Configuration

Les liens entre les différentes routes, actions et vues sont définis dans un fichier de configuration à la racine de l’application nommé « struts.xml ». Voici un exemple de configuration par défaut :

Les actions sont donc contenues dans des packages dans lesquels il est possible de spécifier un namespace. Spécifier un namespace permet de grouper les actions et est directement répercuté sur l’URL finale d’accès aux actions en question. Voici donc un nouvel exemple avec l’ajout de cet attribut :

Ajouter des namespaces fait donc partie des bonnes pratiques de configuration d’Apache Struts. C’est justement l’objet de la vulnérabilité découverte récemment : CVE-2018-11776.

CVE-2018-11776 : Aperçu

Cette vulnérabilité a été découverte par Man Yue Mo, chercheur chez Semmle Security en août 2018. Elle permet à un attaquant d’exécuter à distance des commandes arbitraires sur la machine hôte.

La faille résulte du fait que l’URL d’accès aux actions d’une application Struts passe avant tout par un analyseur syntaxique qui va s’atteler à récupérer le namespace dans lequel est contenue l’action demandée. Cependant, dans le cas où l’action n’a pas de namespace attribué et que l’option « alwaysSelectFullNamespace » est définie à « true », il est possible de faire exécuter des commandes au serveur. Voici un exemple qui illustre cette résolution de commande :

CVE-2018-11776 : Exploitation

Comme dit précédemment, plus intéressant que de résoudre des opérations algébriques, il est possible de faire exécuter à la machine hôte des commandes systèmes grâce à l’injection d’une charge formatée comme suit :

Pour faciliter l’exploitation de cette faille, il est possible d’utiliser sur GitHub le script python développé par Mazin Ahmed appelé « struts-pwn.py ».

Voyez, plutôt :

CVE-2018-11776 : Conséquences

Cette vulnérabilité a pour conséquence la prise de contrôle à distance de la machine hôte. Elle pourrait par conséquent être exploitée par des attaquants, leur permettant ainsi de récupérer des données sensibles sur la machine et les données personnelles des utilisateurs de l’application. Ce n’est pas sans rappeler la précédente faille critique ayant affecté Apache Struts (CVE-2017-5638), qui avait donné lieu à une fuite de plus de 200 000 cartes de crédit, données personnelles et numéros de sécurité sociale d’utilisateur de Equifax en Septembre 2017.

CVE-2018-11776 : Recommandations

Heureusement, il est relativement trivial de se prémunir contre l’exploitation de cette vulnérabilité. En effet, il suffit simplement de :

• Ne pas laisser la variable « alwaysSelectFullNamespace » définie à « true » dans la configuration de Struts
• Encapsuler chaque action (fichier .action) dans un namespace
Et surtout, effectuer une montée en version d’Apache Struts vers la version 2.5.17 ou supérieure

Blog

Nos actualités cybersécurité

Privacy

Sanctions RGPD : ce que révèle le milliard d’euros d’amendes de 2025

5 février 2026

Privacy

Mise en conformité RGPD en 2026 : exigences de preuve et convergence réglementaire

Le RGPD a huit ans. Les grandes lignes n’ont pas changé, mais la manière dont les autorités vérifient leur application, elle, a considérablement évolué. Les déclarations de bonne intention ne suffisent plus. La CNIL et ses homologues européens veulent des preuves : des logs, des rapports d’audit, des attestations techniques. Ajoutez à cela l’entrée en application de l’AI Act et du Data Act, et vous obtenez un environnement réglementaire où la conformité RGPD ne peut plus se gérer en silo. Cet article fait le point sur ce qui a changé, ce qui se durcit et ce que ça implique concrètement pour les RSSI, DPO et directions juridiques.

4 février 2026

Cybersécurité

Stratégie cybersécurité 2026 : les nouveaux piliers de la résilience

Le 1er janvier 2026, l’ANSSI a pris la présidence du Groupe de travail sur la cybersécurité du G7. Un mois plus tard, le gouvernement dévoilait sa stratégie nationale pour 2026-2030. Ces deux événements dessinent un virage net : on passe d’une logique de protection périmétrique à une approche de résilience globale. Pour les RSSI et DSI, ce n’est pas qu’un changement de vocabulaire. Les obligations évoluent, les référentiels se durcissent, et la pression réglementaire s’étend désormais aux sous-traitants et aux PME. Voici ce qu’il faut comprendre et anticiper.

2 février 2026

informations

Contactez-nous

Une question ou un projet en tête ? Remplissez le formulaire, nous reviendrons vers vous rapidement pour un premier échange.

*Informations obligatoires

Les informations recueillies à partir de ce formulaire sont traitées par Digitemis pour donner suite à votre demande de contact. Pour connaître et/ou exercer vos droits, référez-vous à la politique de Digitemis sur la protection des données, cliquez ici.

Index