Vulnérabilité de déni de service lors du traitement des requêtes multipart dans Apache Struts (CVE-2025-64775)

Apache Struts est un framework open-source largement utilisé pour la création d’applications web modernes en Java. Sa diffusion dans les environnements d’entreprise et sur les sites web accessibles au public en fait un composant critique de l’infrastructure Internet et une cible de grande valeur pour les attaquants.

Cette vulnérabilité représente un risque élevé, permettant à un attaquant distant non authentifié de provoquer une condition de déni de service (DoS). L’impact consiste en l’épuisement de l’espace disque, ce qui peut rendre l’application web, et potentiellement l’ensemble du serveur sous-jacent, non réactifs. Cela entraîne des interruptions des opérations commerciales, impacte négativement l’expérience utilisateur et peut causer des pertes économiques.

Bien qu’il n’y ait actuellement aucun signalement confirmé d’exploitation active dans des environnements réels, un exploit public est disponible. Cela augmente considérablement la probabilité d’attaques opportunistes ou ciblées contre les systèmes vulnérables. Tout serveur exposé sur Internet exécutant une version vulnérable d’Apache Struts doit être considéré comme étant à risque immédiat.

ProduitApache Struts
Date03/12/2025 16:47:36

Résumé technique

La cause principale de cette vulnérabilité est une gestion inappropriée du nettoyage des ressources au sein du composant de traitement des requêtes multipart d’Apache Struts. Lorsqu’un utilisateur envoie des données, comme un fichier, via une requête multipart, le framework crée des fichiers temporaires sur le disque du serveur pour gérer ces données. La vulnérabilité réside dans l’incapacité à supprimer correctement ces fichiers temporaires une fois la requête traitée.

La chaîne d’attaque est la suivante :

  1. Un attaquant envoie une série de requêtes multipart spécialement conçues vers un point de terminaison d’une application basée sur une version vulnérable d’Apache Struts.
  2. L’analyseur de requêtes multipart du framework traite chaque requête, créant un fichier temporaire sur le disque pour chacune d’elles.
  3. En raison du défaut, le framework n’exécute pas la logique de nettoyage nécessaire, laissant les fichiers temporaires orphelins dans le système de fichiers.
  4. En répétant ce processus, un attaquant peut remplir progressivement l’espace disque disponible, provoquant finalement l’épuisement complet de l’espace. Cela conduit à un déni de service, car l’application et d’autres processus système ne sont plus en mesure d’écrire sur le disque.

Ce problème concerne les versions d’Apache Struts de 2.0.0 à 6.7.0 et de 7.0.0 à 7.0.3. La vulnérabilité a été corrigée dans les versions 6.7.1, 7.0.4 et ultérieures. Un attaquant non authentifié peut exploiter cette vulnérabilité pour dénier le service sans avoir besoin de privilèges spéciaux.

Recommandations

  • Mise à jour immédiate : Effectuez la mise à niveau de toutes les instances d’Apache Struts vers les versions les plus récentes et sécurisées, telles que 6.7.1 ou 7.0.4, qui incluent le correctif de la vulnérabilité.
  • Atténuations : S’il n’est pas possible d’appliquer le correctif immédiatement, envisagez la mise en œuvre d’une limitation de débit (rate-limiting) sur les points de terminaison qui gèrent les requêtes multipart/form-data pour ralentir la création de fichiers. Il est possible de configurer des pare-feu d’applications web (WAF) pour bloquer les requêtes multipart malformées, bien que cela ne remplace pas la mise à jour.
  • Chasse aux menaces et surveillance :
    • Surveillez attentivement l’utilisation de l’espace disque des serveurs exécutant des applications Apache Struts pour détecter toute augmentation rapide et inexpliquée.
    • Inspectez le répertoire des fichiers temporaires utilisé par le serveur d’applications Java (par exemple, le répertoire temp dans Apache Tomcat) pour vérifier la présence de fichiers anormaux qui ne sont pas supprimés.

  • Réponse aux incidents : En cas de compromission suspectée, procédez immédiatement à la suppression des fichiers temporaires orphelins du disque pour rétablir le service. Isolez l’hôte compromis et analysez les journaux d’accès du serveur web à la recherche de requêtes POST répétées provenant d’une seule adresse IP. Conservez les journaux pour l’analyse forensique avant d’appliquer le correctif nécessaire.
  • Défense en profondeur : Assurez-vous que le service web est exécuté avec un utilisateur à faible privilège, doté de quotas limitant la capacité d’épuiser l’espace disque au niveau du système. Cela peut contribuer à confiner l’impact du DoS à l’application elle-même plutôt qu’à l’ensemble du serveur. Effectuez des sauvegardes régulières des données et des configurations critiques.

[Callforaction-THREAT-Footer]

Leave a Reply

Your email address will not be published. Required fields are marked *