Developpez.com

Le Club des Développeurs et IT Pro

Java : le Framework Web Apache Struts victime d'une faille de sécurité

Activement exploitée par des hackers chinois

Le 2013-08-16 15:41:39, par Cedric Chevalier, Expert éminent sénior
Alors que suite à une faille critique l'Apache Software Foundation a publié un correctif pour les versions vulnérables d'Apache Struts, le framework de développement d'applications web Java pour l'édition entreprise, le constat c'est que cette mise à jour n'est pas très répandue.

Noriaki Hayashi, chercheur en sécurité pour la firme Trend Micro, reporte que des hackers chinois se servent d'un outil spécialisé pour compromettre des applications développées avec les versions vulnérables du framework.

L'outil commercialisé sur le marché noir, permet à ces deniers d'exploiter les vulnérabilités CVE-2013-2251, CVE-2013-1966, CVE-2011-3923, et CVE-2010-1870 qui donnent toutes la possibilité au hacker d'exécuter du code arbitraire dans l'application distante grâce à un webshell.


Le chercheur confirme entre autre que de nombreux sites asiatiques sont victimes des attaques générées par cet outil, traduisant ainsi la forte présence sur la toile d'applications développées avec les versions vulnérables du Framework.

Par ailleurs il recommande vivement aux développeurs d'installer la mise à jour sécurisée du Framework.

Télécharger Apache Struts 2.3.15.1

Source : blog Trend Micro

Et vous ?

Utilisez-vous Apache Struts ?
  Discussion forum
25 commentaires
  • ymajoros
    Membre habitué
    Struts ne fait pas partie de la stack Java EE. C'est un framework non standardisé parmis d'autres. Personnellement, j'évite : pas de spec, une seule implémentation, des bugs deviennent la règle (c'est comme ça que c'est implémenté), développement par essais-erreurs plutôt que selon des règles... Et surtout : à part pour des raisons historiques, pourquoi choisir un outil techniquement à la ramasse si la stack standard permet de faire beaucoup mieux ?
  • Gugelhupf
    Modérateur
    Envoyé par salve34
    ps: Voilà une info importante mais comme çà touche la sécurité et non "le pire code ou la pire appli que vous avez vu", personne n'est intéressé
    Struts 2 est un framework que j'ai essayé récemment, juste après avoir étudié JSF2 un peu avant.

    Dans un premier temps j'ai ressenti un effet "retour en arrière", parce que contrairement à JSF2 qui fonctionne en mode Facelet/ManagedBean, il y a plusieurs fichiers à configurer dans Struts2. Et plus il y a de fichier à configurer dans un projet et plus celui-ci devient lourd à gérer...

    Mais d'un autre coté j'ai eu l'impression que malgré ce coté "old-school" il pourrait y avoir plus de souplesse... Et puis au fur et à mesure que je construisais mon interface, je me suis rendu compte que ce framework n'était plus vraiment adapté au développement d'application Web.
    La question que j'ai fini par me poser fut : Qu'est ce que Struts2 de base apporte plus que JSP/Servlet à part les formulaires, et avoir des JSP plus propres sans code <% Java %> ? ... rien de plus j'ai l'impression (mais je peux très bien me tromper).

    Autrement le framework fonctionne en mode 100% action... comment faire pour qu'une action soit appelé avant le chargement de l'index ?
    Malheureusement les forums struts/struts2 sont morts, mais j'ai fini pas trouver la réponse. La solution consiste à rafraichir sa page d'index comme ceci :
    Code :
    <META HTTP-EQUIV="Refresh" CONTENT="1;URL=Index.action">
    ... C'est fou non ? Pour moi un code source d'une page HTML ne doit pas permettre aux utilisateurs de connaitre le type d'architecture au niveau du serveur. Mais là on sent le struts à plein nez. Comment ne pas se faire pirater ?

    Maintenant je vais essayer d'étudier d'autres framework Java orienté Web.
  • ymajoros
    Membre habitué
    Envoyé par salve34
    ps: Voilà une info importante mais comme çà touche la sécurité et non "le pire code ou la pire appli que vous avez vu", personne n'est intéressé.
    Ou alors c'est parce que c'est Struts, qu'il ne fait pas partie de Java EE et que tout le monde sait qu'il faut s'en débarasser depuis 10 ans
  • Uther
    Expert éminent sénior
    Ce n'est pas incompatible.
    Il ne fais pas officiellement partie de JavaEE, mais il est utilisé pour la création de beaucoup d'application JavaEE.
  • bouka
    Futur Membre du Club
    Nous pouvons dire que Struts fait partie des frameworks JEE.
    une application JEE est basée sur les concepts : Servlet, JSP et EJB.
    Maintenant pour dire qu'un framework ne fait pas partie de la specification JEE il faut vérifier s'il n'implemente pas ces concepts.
  • Altenide
    Membre habitué
    voici une 2 stats intéressantes :

    insight strus 2 / jsf 2

    http://zeroturnaround.com/rebellabs/...ts-and-jsf/#!/

    mais Struts 2 sauf évolution majeure a un futur plutôt sombre selon moi.
  • salve34
    Membre régulier
    Utilisez-vous Apache Struts
    Je l'ai utilisé mais sur le net il est si difficile de trouver des serveurs JAVA (à moins de prendre un serveur virtuel ou dédié), que je suis revenu à PHP.

    ps: Voilà une info importante mais comme çà touche la sécurité et non "le pire code ou la pire appli que vous avez vu", personne n'est intéressé. Ou alors c'est à cause des vacances
  • salve34
    Membre régulier
    Envoyé par ymajoros
    Ou alors c'est parce que c'est Struts, qu'il ne fait pas partie de Java EE et que tout le monde sait qu'il faut s'en débarasser depuis 10 ans


    Apache Struts est un framework libre servant au développement d'applications web Java EE.
    source "http://fr.wikipedia.org/wiki/Apache_Struts"
  • Philippe Bastiani
    Membre éprouvé
    Effectivement, Struts n'est pas le framework Web JavaEE... mais, un parmi d'autres !

    D'ailleurs, j'aimerais bien connaître sa part de marché actuelle...

    Il y a 10ans, en version 1, c'était un des leaders du marché... mais, le passage à la version 2 (incompatible avec la version 1) a été fatal pour la popularité de ce framework: beaucoup, de clients se sont alors tournés vers d'autres solutions !

    Pour en revenir à l'article : la publication d'un patch en pleines vacances d'été ne facilite pas son adoption rapide !

    a+
    Philippe
  • samouemouel
    Futur Membre du Club
    Il est vrai que depuis la sortie de JSF en version 2, Struts 1 à perdu pas mal de sa cote car beaucoup plus complexe à utiliser, mais sa version 2 l'a remis sur les rails. J'aimerais moi aussi bien savoir quelle est sa par de marché actuelle.