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
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.
Java et Log4Shell : pourquoi CVE-2021-44228 reste la faille de reference
Log4Shell a montre qu une simple bibliotheque Java pouvait devenir un risque systemique. Voici pourquoi CVE-2021-44228 reste la faille de reference de l ecosysteme Java.
Java et Spring4Shell : ce que CVE-2022-22965 a vraiment appris aux equipes Spring
Spring4Shell a rappele que les frameworks Java tres deployes peuvent transformer une mauvaise combinaison technique en faille critique. Voici ce que CVE-2022-22965 a vraiment appris aux equipes Spring.
Java et Confluence : pourquoi CVE-2023-22515 a force des actions d urgence
CVE-2023-22515 a permis la creation de comptes administrateurs non autorises sur des instances Confluence exposees. Voici pourquoi cette faille Java a force des actions d urgence.
Sources
Services associés
Si ce sujet reflète un risque concret sur votre stack, voici les audits CleanIssue les plus pertinents.