Alerte sécurité SPIP + nouvelle version SPIP 2.0.9

Un grave problème de sécurité vient d’être corrigé dans SPIP ; tout ce qu’il faut savoir à ce propos.

Un grave problème de sécurité vient d’être corrigé dans SPIP ; tout ce qu’il faut savoir à ce propos.

(reprise texto d’un mail sur spip-ann)

Bonjour,

un grave problème de sécurité vient de nous être signalé ; ce problème
affecte toutes les versions de SPIP 2.0.x jusqu’à SPIP 2.0.8, ainsi
que la branche 1.9. Il permet à un attaquant ne disposant d’aucun mot
de passe de prendre le contrôle de votre site SPIP et de votre serveur
web.

L’alerte est d’autant plus sérieuse que le « trou » n’a pas cette fois
été découvert par un « gentil », mais par un véritable « méchant » qui a
pris le contrôle d’un site existant pour y insérer des malware.

Correctifs

Nous publions donc aujourd’hui deux versions de maintenance de SPIP,
qui corrigent ce bug :
-  SPIP 2.0.9, dernière version stable et officielle, qui contient,
outre la correction de ce problème de sécurité, quelques
améliorations, listées ci-dessous.
-  SPIP 1.9.2i, version de maintenance de la branche 1.9.2

à télécharger sur
=> http://files.spip.org/spip/stable/
=>http://files.spip.org/spip/archives/ (pour la version 1.9.2i)

ou, si vous utilisez spip_loader, en vous rendant à l’adresse
=> http://xxx.example.tld/spip_loader.php

Pour les spécialistes, le patch de sécurité stricto sensu pour la
branche 2.0.x, qui ne corrige aucun autre bug et n’apporte aucune
autre fonctionnalité, peut se trouver ici :
http://fil.rezo.net/secu-14346-14350+14354.patch
Il s’agit des révisions [14347] [14348] [14349] [14350] et [14354].

Pour la branche 1.9.2x le patch est ici :
http://trac.rezo.net/trac/spip/changeset/14354/branches/spip-1.9.2

Ecran de sécurité

Si vous n’avez pas la possibilité de procéder à la mise à jour
complète tout de suite, nous vous invitons à colmater sans attendre le
problème en installant sur votre site l’« écran de sécurité », que
vous pouvez découvrir à l’adresse :
http://www.spip.net/fr_article4200.html
Cet écran permet de bloquer une éventuelle attaque sans pour autant
devoir mettre à jour les fichiers de SPIP.

Crédits

L’attaque a été détectée et analysée par Thomas Sutton et Pierre Rousset.

Nous vous rappelons que le meilleur moyen pour nous signaler un problème
de sécurité est d’envoyer un mail à la liste spip-team arobize rezo.net

Discussion

40 discussions

  • 1

    L’écran de sécurité ne peut être récupéré : le lien ne marche pas :
    http://zone.spip.org/trac/spip-zone/browser/_core_/securite/

    une idée ?

    Répondre à ce message

  • 3

    Bonjour,

    Est-ce que cet écran doit être déployé quelquesoit les version de Spip ?

    -  Spip 2.0.10
    -  Spip 2.0.11
    -  Spip 2.0.12
    -  Spip 2.1.2

     ?

    Merci

    Répondre à ce message

  • 2

    Bonjour,
    Je ne sais pas si c’est normal, mais cette annonce datant de aout 2009 est affiché en page d’accueil du site. J’ai faillit croire qu’une version 2.1.9 était sortie ;-)

    Répondre à ce message

  • 2

    Bonjour à tous,
    Suite à l’alerte de sécurité ci-dessus, j’ai fait passer mon site de la version 2.0.7 à la version 2.0.9.
    Depuis, si quelqu’un fait « Répondre à cet article », quand il clique sur « Voir ce message avant de le poster » il déclenche l’erreur suivante : « Fatal error : Call to undefined function : cs_glossaire() in /homez.34/periple/www/xxx/squelettes-dist/formulaires/forum.php(275) : eval()’d code on line 1 »"
    Je suis hébergé chez OVH, et j’observe la même erreur sur mon site de test en local. J’utilise les plugins Couteau Suisse, Spip listes, Spip Bonux, Compositions, Mini Calendrier.

    Est-ce que quelqu’un a observé ce phénomène et a pu le corriger ?
    Merci par avance de vos réponses.
    JF David

    • Avez vous trouvé une solution à ce problème ?
      Je ne peux me résoudre à enlever le traitement typographique des forums !

    • Je savais que j’aurais du mettre à jour depuis longtemps, je me suis fait avoir, et je suis forfait pour le coup. Mon dernier backup date d’il y a plusieurs moi en plus. Grr

    Répondre à ce message

  • Bonjour,

    Suite à la mise à jour 1.9.2i, un petit détail incohérent est apparu. Lorsque l’on upload une image depuis le backoffice (via « ajouter une image »), le petit bout de code qui apparaît en-dessous n’est plus « img » mais « doc ». Bien entendu, il suffit de remplacer « doc » par « img » dans la zone de texte. Mais est-ce que quelqu’un saurait comment rectifier ce problème de manière à ce que l’on ait plus qu’un copier-coller à faire (depuis le cartouche image vers la zone texte) pour incorporer l’image ?

    Merci d’avances pour vos réponses.

    Répondre à ce message

  • Bonjour,

    Je viens de corriger la faille sur deux sites qui était en 1.9.2 et j’ai fait une vérification/test comme ils le préconisent sur le site de spip (http://www.spip.net/fr_article4200.html). J’ai ce message :

    “Error 403

    You are not authorized to view this page (test 0.9.2)”

    Est-ce bon signe ? L’écran de sécurité est-il bien installé selon vous ?
    Merci d’avance pour vos réponses.

    Répondre à ce message

  • 3
    alain bourdeau

    Bonjour,
    Aprés avoir fait la mise à jour en SPIP 2.0.9 par spip_loader.php,
    Dans la partie privée, j’obtient le message :

    Fichier documenter_objet introuvable

    Quand je cherche à entrer dans la gestion d’une rubrique, quelque soit la rubrique. Et je ne peux pas avoir la mise à jour d’un article ni la création d’un noueau.

    J’ai comme plugins important spip-thélia et acces_restreint.

    Que faut-il faire.
    Merci bien

    • alain bourdeau

      Je me réponds car j’ai trouvé.

      Le fichier documenter_objet.php doit se trouver dans /ecrire/inc

      Il m’a suffit de transférer une version que j’avais en local sur le site.

      Mais pourquoi ce fichier était éliminé de la version sur le site ? Mystère.

      Amicalement à vous

    • Avec le passage de la 2.0.8 à la 2.0.9, j’ai le message Fichier documenter_objet introuvable lorsque je clique sur article dans la partie privée.
      Je n’ai pas de probleme en 2.0.9 partant de zero.

    • le fichier documenter_objet.php ne se trouvait pas ecrire/inc : c’est corrigé.
      visiblement, lors du ftp, la copie ne s’est pas faite.

      c’est résolu.

    Répondre à ce message

  • 3

    Ce bout de squelette fonctionnait correctement sous spip 2.0.8 :

    <B_sub_rubrique>
    (qq chose ici)
    <BOUCLE_sub_rubrique(RUBRIQUES){id_parent}{par titre}{doublons}>
    <BOUCLE_recursive(BOUCLE_sub_rubrique)> </BOUCLE_recursive>
    </BOUCLE_sub_rubrique>
    </B_sub_rubrique>
    (qq chose ici)
    <//B_sub_rubrique>

    Sous 2.0.9 cela me donne une page blanche (y compris tout le code placé avant ou après la boucle) ; un contenu réapparait si je supprime l’appel récursif :

    <B_sub_rubrique>
    (qq chose ici)
    <BOUCLE_sub_rubrique(RUBRIQUES){id_parent}{par titre}{doublons}>
    
    </BOUCLE_sub_rubrique>
    </B_sub_rubrique>
    (qq chose ici)
    <//B_sub_rubrique>

    Une piste ?

    • J’ai recopié ton squelette, et je n’ai pas de page blanche du moment que la rubrique a des rubriques filles. Par ailleurs, ce genre de message doit être posté sur le site spip_forum, cet article n’étant pas consacré à des problèmes éventuels de la 2.0.9.

    • Je réponds ici, vu qu’il s’agit davantage d’une différence de comportement des versions qu’un bug à proprement parler (?). Voici ce que j’ai trouvé en retravaillant mes squelettes (désormais compatibles 2.0.9) :

      SPIP 2.0.8 supportait des boucles imbriquées dans des boucles récursives même si les boucles imbriquées étaient placées dans les parties optionnelles avant ou après ou dans la partie alternative.

      Avec SPIP 2.0.9 il vaut mieux s’arranger pour que les boucles imbriquées soient dans le « corps » de la boucle récursive (il me semble que c’est un problème de passage de paramètres pour les critères de des boucles imbriquées).

      Ca n’a rien à voir, mais j’ai remarqué que la balise #CHAPO renvoie désormais un contenu vide si l’article est virtuel, ce qui est somme toute plus pratique ; mais c’est mieux quand on le sait.

      Quand la documentation sortira t-elle en même temps que les nouvelles versions et non des années plus tard ?

    • Ce comportement me pose problème aussi. Je cherche
      à afficher un plan en mélangeant articles et rubriques, et j’ai besoin de mettre une boucle dans la partie optionnelle, pour pouvoir traiter le cas des rubriques qui ne contiennent que des articles, et le parametre ID_PARENT ne semble pas visible dans la partie optionnelle (ce qui est légitime à top-level, mais pas quand on commence à rentrer dans les appels récursifs).

      Bon, ce que je raconte ne doit pas être compréhensible si je ne donne pas la boucle en question. La voici donc (j’ai nettoyé des trucs inutiles ; j’espere ne pas en avoir enlevé trop) :

      <B_rub>
      <ul> 
        <BOUCLE_rub(RUBRIQUES){tout}{racine}{par num titre}{doublons} >
        <li>
            <a  href="#URL_RUBRIQUE">[(#TITRE)]</a>
            <B_sousrub>
            <ul>
      	<BOUCLE_sousrub(RUBRIQUES){tout}{id_parent}{par num titre}{doublons exclus}>
      	  <BOUCLE_art(ARTICLES){tout}{id_rubrique=#ID_PARENT}{par num titre}{titre<#TITRE*}{doublons}>
      	  <li> <a  href="#URL_ARTICLE">[(#TITRE)] </a> </li>
                </BOUCLE_art>
      	  <li> <a href="#URL_RUBRIQUE">[(#TITRE)] </a>
                <BOUCLE_recursive(BOUCLE_sousrub)>   </BOUCLE_recursive>
      	  </li>
      	       [(#REM) à cause de la condition titre inf #TITRE*, on a pu raté des articles :
      	        on en remet donc une boucle.]
      	      <BOUCLE_art_apres(ARTICLES){tout}{id_rubrique=#ID_PARENT}{par num titre}{doublons}>
         	      <li> <a href="#URL_ARTICLE">[(#TITRE)] </a>  </li>
      	      </BOUCLE_art_apres>
            </BOUCLE_sousrub>
            </ul>
            </B_sousrub>
            <B_art_opt> [(#REM) Pour afficher les articles sans rubriques soeurs]
            <ul>
      	<BOUCLE_art_opt(ARTICLES){id_rubrique=#ID_PARENT}{par num titre}{doublons}>
      	  <li>  <a href="#URL_ARTICLE ">[(#TITRE)]</a> </li>
              </BOUCLE_art_opt>
            </ul>
            </B_art_opt>
            <//B_sousrub>
        </li>
        </BOUCLE_rub>
      </ul>
      </B_rub>

      L’idee de cette boucle est d’afficher au même niveau les articles et les rubriques appartenant à une meme rubrique. Un probleme survient avec cette facon de proceder quand des articles sont dans une rubrique sans rubrique, d’où la boucle art_opt dans la partir optionnelle de la boucle principale.

      Et mon souci, c’est que #ID_PARENT semble invisible dans la boucle BOUCLE_art_opt. Je comprend de cette file que si ca se trouve, ca marchait avant...

    Répondre à ce message

  • 1

    Bonjour,
    j’ai mis à jour la version spip 1.9.2.f à la version 2.0.9.
    Le site s’affiche normalement. Le seul bug : lorsque que je veux me connecter au Back Office, le login ne semble pas être pris en compte. En le validant, il s’efface et rien ne se passe.

    Merci à vous .

    • Bonjour,

      J’ai exactement le même problème !..
      J’ai fais une mise à jour spip du 192d à 209, et depuis le 19 août je n’ai reçu aucune réponse ...
      Donc dans le cas où tu recevrais une réponse en privé, je suis preneur ...

      Le seul moyen que j’ai trouvé pour entrer est de faire une mise à jour virtuelle en supprimant « config et tmp » par ftp ( Attention, sauvegarder tous les réglages des plugins, car il faudra ré-inscrire tous les paramètres [1] .. ) :
      -  refaire l’indentification de la base de données ( pas de changement ),
      -  entrer un nouveau login et un nouveau mot de passe propre à ton identification avec spip ( puisqu’avec celui déjà existant cela ne fonctionne pas !!! ), et redonner ce nouveau login et/ou le passe une deuxième fois pour entrer dans la partie privée quand la mise à jour est terminée ...

      A priori le cookie de correspondance ( penser à bien l’activer .. avant de repasser dans la partie publique ) semble permanent, ou tout du moins il s’agit de le réactiver ( pour moi une fois depuis le 19 août ).
      Grand désavantage, .. il est impossible de travailler avec un autre navigateur, ou même sur un autre ordinateur, sans refaire une ré-installation virtuelle et avec un nouveau login et passe ( puisque toute nouvelle ré-identification est impossible, login qui s’efface et redemande, et redemande ... ), pas très pratique .., perte de temps ...
      Et je ne peux même pas savoir si à priori des intentions malveillantes dormantes extérieures ( quelles soient gouvernementales et/ou privées genre hadopi x et pirates autres ... ) sont à l’affût de prendre le contrôle éventuel du site ( !?. ) ...

      Mais c’est éventuellement une solution d’attente avant qu’enfin le groupe de programmeur de cette version réponde enfin au problème posé soit par une mise à jour partielle ou un patch qui permettrait de reprendre le contrôle total. Et surtout dans cette attente évite toutes intrusions possibles par des forums ou autre.

    Répondre à ce message

  • 1

    il me semble avoir fait la mis à jour normalement, pourtant dans l’espace privé il est toujours mentionné que j’ai affaire à la version 2.0.8, est-ce normal ?

    • non, tu dois voir figurer la mention SPIP 209 dans le backoffice (en bas de page)

      normalement pour un passage de SPIP 208 à SPIP 209,un message t’avertit que SPIP va effectuer une mise à jour.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom