Retour au blog
JavaStrutsCVE

Java et Apache Struts : pourquoi CVE-2017-5638 reste un cas ecole

Publié le 2026-04-116 min de lectureFlorian

Une faille ancienne, mais toujours utile a etudier

L advisory officiel S2-045 d Apache Struts decrit CVE-2017-5638 comme une possible execution de code a distance lors du traitement des uploads via le parser Jakarta Multipart. Le vecteur passait par une valeur malveillante du header Content-Type.

Pourquoi en parler encore en 2026 ? Parce que cette faille illustre parfaitement le risque des frameworks historiques exposes sur Internet et mis a jour trop lentement.

Ce qui la rendait redoutable

Apache qualifiait la faille de critique et recommandait la mise a jour vers Struts 2.3.32 ou 2.5.10.1. Dans les faits, le probleme etait severe parce qu il touchait une fonction banale, l upload de fichiers, presente dans beaucoup d applications metier.

Le cas Struts montre qu un composant mature et ancien ne devient pas automatiquement plus sur avec le temps. Souvent, il accumule du code, des usages historiques et des environnements de production difficiles a migrer.

Ce que cela dit de Java

Cette faille n est pas une condamnation du langage. C est une alerte sur les frameworks web enterprise qui restent en place pendant des annees. Plus la surface applicative est vieillissante, plus la dette d exploitation prend de poids.

Les applications Struts encore en production en 2026 ne sont pas forcement nombreuses dans les startups. En revanche, elles existent encore dans des SI critiques, des portails internes, des extranets et des produits maintenus depuis longtemps.

Les signaux de risque typiques

  • une application Java web ancienne mais toujours exposee ;
  • un cycle de patch lent ;
  • une documentation d architecture incomplete ;
  • un usage de composants upload, admin ou backoffice peu revus ;
  • l idee que le legacy sera traite plus tard.
  • Notre lecture

    Dans un article sur les technologies et CVE les plus dangereux, Struts merite sa place parce qu il rappelle une chose simple : en securite, le danger vient souvent moins du langage que de la longevite du framework et de l inertie de mise a jour.

    CVE-2017-5638 reste donc un cas ecole pour toute equipe qui maintient du Java web historique : si vous ne savez pas exactement ce qui tourne encore, vous ne savez pas encore votre niveau de risque.

    Articles liés

    Trois analyses proches pour continuer la lecture sur la meme surface de risque.

    Besoin d'une revue externe de votre SaaS RH ?

    Expliquez votre produit, votre stack et votre contexte client. Nous revenons vers vous avec le bon niveau de revue.

    Parler de votre audit