Entre la découverte de vulnérabilités et leur exploitation par des hackers, il y a souvent un délai permettant aux développeurs de proposer dans l'intervalle un patch de sécurité. Le délai a beau être court, il fournit néanmoins une fenêtre de tir dans laquelle les pirates les plus rapides peuvent s'immiscer comme cela a malheureusement pu être le cas avec la dernière faille ayant visé Apache Struts. Des attaquants sont en effet parvenus à exploiter la récente faille pourtant patchée, trouvée dans ce framework de développement open source et permettant d'exécuter à distance du code malveillant sur des serveurs web.

Lundi, les développeurs d'Apache Struts ont corrigé une vulnérabilité élevée dans le parseur (analyseur synthaxique) du framework Jakarta Multipart. Quelques heures plus tard, un exploit de la faille est apparu sur des sites web en langue chinoise, suivi presque immédiatement par de véritables attaques, selon des chercheurs de Cisco Systems. Cette vulnérabilité est très facile à exploiter et permet à des attaquants d'exécuter des commandes systèmes avec des privilèges utilisateurs faisant tourner des processus de serveur web. Si ce dernier est configuré pour s'exécuter en racine, le système est alors complètement compromis.

L'arrêt du pare-feu Linux sur commande

Ce qui est pire encore est que l'application web Java tournant sur le serveur n'a même pas besoin que la fonction de téléchargement de fichier soit implémentée via le parseur Jalarta Multipart pour être vulnérable. Selon des chercheurs de Qualys, la simple présence sur le serveur web de ce composant, qui fait partie par défaut du framework Apache Struts, suffit pour permettre l'exploit. Les sociétés utilisant ce framework sur leurs serveurs devraient dès que possible monter vers les versions 2.3.32 ou 2.5.10.1.

Les chercheurs de Cisco Talos ont observé un grand nombre d'événements d'exploitations. Certaines d'entre elles exécutent seulement la commande Linux whoami pour déterminer les privilèges de l'utilisateur du serveur web. D'autres vont plus loin et arrêtent le pare-feu Linux avant de télécharger un exécutable ELF sur le serveur. « Les payloads ont varié mais incluent un bouncer IRC, un bot DDoS et un échantillon lié au botnet des portails de facture », ont déclaré les chercheurs de Talos dans un billet de blog. Dans le monde, on recenserait 35 millions d'applications web acceptant les téléchargements de type filetype:action, et une grande proportion d'entre elles sont probablement vulnérables.

Il est inhabituel de voir des attaques commencer si rapidement après l'annonce d'une faille et il n'a pas encore été clairement établi si son exploitation a pu survenir dans certains cercles fermés avant lundi. Les utilisateurs qui ne peuvent pas immédiatement appliquer des patchs peuvent utiliser une solution temporaire de contournement consistant à créer un filtre Servlet pour Content-Type. Les règles de pare-feu d'application web pour bloquer ces demandes sont également disponibles auprès des différents fournisseurs.