Une importante faille de sécurité a été découverte dans un composant d’Apache Struts 2. Elle est déjà exploitée et peut permettre une exécution de code à distance. Il est recommandé d’appliquer au plus vite le correctif, disponible dans une mise à jour.
Au moment de sa découverte, la faille était déjà exploitée. Apache a fini par communiquer dessus lundi, confirmant dans sa dangerosité et son caractère critique, puisqu’elle peut être exploitée à distance. Elle a été découverte par les chercheurs en sécurité de Talos, la branche dédiée à ces problèmes chez Cisco.
Elle réside plus particulièrement dans Apache Struts, une infrastructure pour les applications web. Ce framework MVC (Model-View-Controller) permet la création d’applications Java, avec le support des techniques que l’on peut en attendre aujourd’hui, notamment JSON, REST et AJAX. Or, le parseur Jakarta Multipart présente une faiblesse en fonction des données qu’il est amené à traiter.
Si un pirate réussit à lui faire lire des données spécialement conçues et comportant une certaine valeur Content-Type, une exception est générée et peut être utilisée pour afficher un message d’erreur à l’utilisateur. À partir de là, il devient possible pour le pirate de déclencher le téléchargement d’une charge virale, qui peut contenir différentes menaces selon les cas, dont un bot destiné à mettre en place des attaques par déni de service plus tard. Les pirates tentent en outre de s’assurer une persistance dans la machine en plaçant un fichier binaire dans la séquence de démarrage.
Dans la foulée, et puisque la faille était déjà exploitée, les chercheurs ont publié un prototype d’exploitation. En d’autres termes, l’attention portée au problème n’a pu qu’augmenter. Il est donc recommandé aux utilisateurs de mettre à jour le plus rapidement possible Apache Struts vers les versions 2.3.32 or 2.5.10.1, voire de changer d’implémentation du parseur, comme indiqué par Apache.