L’équipe de chercheurs en sécurité qui maintient la plateforme lgtm.com a découvert une faille de sécurité critique dans Apache Struts. Toutes les applications Web conçues avec des versions du framework antérieures à 2.5.13 (disponible depuis hier en version stable) ou utilisant le plugin REST sont vulnérables.
Man Yue Mo, le chercheur à l’origine de la communication, explique que la faille résulte de la façon dont Java transforme un flux d’octets en copie d’un objet, processus auquel on donne le nom de désérialisation. « Des vulnérabilités similaires, pouvant déboucher sur l’exécution de code à distance, sont apparues ces dernières années », explique le chercheur qui a tenu à rappeler le cas de la bibliothèque Apache Commons Collection.
« Par exemple, Apache Struts utilise l’interface ContentTypeHandler. Elle convertit des données en objets Java, ce qui fait que toute classe qui implémente cette interface est potentiellement d’intérêt », explique le chercheur qui attire particulièrement l’attention sur la méthode void toObject(Reader in, Object target). Et pour cause, le premier paramètre de cette dernière est contrôlé par un utilisateur distant via une requête HTTP ou une connexion socket dédiée.
« Les données contenues dans le premier argument (In) passé à la méthode toObject doivent être considérées comme non fiables », ajoute le chercheur qui laisse ainsi comprendre quel est le problème de fond : les méthodes chargées de la désérialisation procèdent à l’opération sans vérification de la fiabilité des données passées à la méthode toObject. Cet état de choses ouvre la possibilité à un cybercriminel d’exécuter du code malicieux sur un serveur infecté.
Les chercheurs ont mis l’équipe de développement d’Apache Struts au courant de ces faits le 17 juillet dernier. Cette dernière a procédé à des modifications de l’API, lesquelles ont été intégrées à la release 2.5.13 déjà à disposition. Il faudrait néanmoins noter que 65 % des entreprises du classement Fortune 100 sont susceptibles d’être affectées par cette faille puisque les mises à jour sont généralement négligées.
« Le framework Struts est utilisé par une multitude d’organisations. Il s’agit d’une faille importante puisque le framework est généralement utilisé pour concevoir des applications Web auxquelles le public a accès. Struts est utilisé dans plusieurs systèmes de réservations pour aéroports ainsi que dans bon nombre d’institutions financières qui l’utilisent pour des applications de banque en ligne. Par-dessus le marché, la faille est extrêmement aisée à exploiter : tout ce qu’il faut à un cybercriminel c’est un navigateur. Les organisations doivent procéder à une mise à jour dans les plus brefs délais », a averti le chercheur.
« En raison de la sévérité de cette faille, les détails supplémentaires seront tenus secrets pour le moment. Le billet de blog sera mis à jour dans les semaines à venir », a conclu le chercheur.
Source : Annonce lgtm, Explications Man Yue Mo
Et vous ?
Qu'en pensez-vous ?
Utilisez-vous Apache Struts pour le développement d’applications Web ? Aviez-vous connaissance de cette faille ?
Voir aussi :
La faille dans Apache Struts 2 a affecté plus de 29 millions de sites parmi lesquels des sites gouvernementaux français
Apache Struts : une faille dans le framework permet l'exécution de code à distance
Si la version utilisée est antérieure à 2.5.13
Apache Struts : une faille dans le framework permet l'exécution de code à distance
Si la version utilisée est antérieure à 2.5.13
Le , par Patrick Ruiz
Une erreur dans cette actualité ? Signalez-nous-la !