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

    Bonjour à tous,
    Je n’arrive pas à acceder au patch pour la branche 1.9.2x

    Merci :-)

    Répondre à ce message

  • 2
    fredomkb1

    Bonjour à tous et un grand merci pour la célérité des dev’s de Spip !!!

    Juste par curiosité, pourriez-vous, sans trop entrer dans les détails bien-sûr, nous en dire un peu plus sur la faille de sécurité et la méthode utilisée pour l’exploiter ?

    Encore merci !

    • @fredomkb1 : honnêtement, on va éviter, histoire de laisser le temps aux gens de se mettre à jour avant de se faire pwner leur site. Si ça t’amuse, regarde les commits et déduis-en ce qu’il faut en déduire

    • fredomkb1

      Oui, en effet, il vaut mieux que tout le monde soit protégé avant d’en dire d’avantage...

      Ma question n’était évidemment pas motivée par une curiosité malsaine, seulement, travaillant avec d’autres applications en ligne (forums, blogs, galeries, etc.), je voulais juste me faire une idée de l’existence éventuelle de cette faille, ou semblable, sur d’autres programmes...

      Bref, la méthode d’intrusion et de prise de contrôle utilisée par ce hacker peut s’avérer aussi dangereuse sur d’autres systèmes que SPIP, autant profiter de cette découverte pour en avertir les autres communautés de développeurs... voilà l’origine de ma démarche...

      Mais, d’accord, j’irais jeter un coup d’oeil sur les commits, histoire de m’en faire une idée...

      Merci :-)

    Répondre à ce message

  • 1

    Bonjour,

    J’ai essayé de suivre les instructions sur ce lien :

    http://www.spip.net/fr_article4200.html

    Pour moi, ma version est spip 1.9.2 et je n’ ai pas compris au niveau serveur quel répertoire est il lisible par tous le site ? en plus je ne sais pas où trouver php.ini pour le modifier !!

    merci pour votre aide.

    • jacques

      Bonjour Ahlan,

      En fait sous spip 1.9.2 il faut que :
      -  tu déposes le fichier ecran_securité.php dans le dossier config.
      -  ensuite que tu rajoutes la ligne donnée par cédric plus bas dans ton fichier mes_options.php, dans le même dossier.

      Si le fichier mes_options.php n’existe pas tu le crées : tu créées un fichier texte dans le quel tu écris

      <?php
      @include_once dirname(__FILE__).'/ecran_securite.php';
      ?>

      et tu l’enregistres sous le nom mes_options.php

      C’est comme ça que j’ai fait pour un site sous 1.9.2g et alors le test

      Lorsque l’écran de sécurité est actif, spip.php ?echelle=< doit te renvoyer un brutal « No thanks »

      fonctionne bien.

      A signaler que sous spip 2.0 je n’ai pas besoin de la ligne dans mes_options.

    Répondre à ce message

  • 3
    Manu_TJ

    Bonjour

    j’ai une dizaine de sites SPIP à migrer et je suis en congés avec une connexion d’une lenteur infinie. Pour faciliter la mise à jour aux seuls fichiers modifiés, j’ai fait un un comparatif des différents packages et j’obtiens ceci :

    -  fichiers différents entre la 1.9.2h et la 1.9.2i
    backend-breves.html dans dist
    export_all.php dans ecrire\exec
    autoriser.php dans ecrire\inc
    notifications.php dans ecrire\inc
    inc_version.php dans ecrire
    index.php dans ecrire

    -  fichiers différents entre la 2.0.8 et la 2.0.9
    charger_plugin.php dans ecrire\action
    dater.php dans ecrire\action
    editer_article.php dans ecrire\action
    editer_site.php dans ecrire\action
    tourner.php dans ecrire\action
    abstract_sql.php dans ecrire\base
    trouver_table.php dans ecrire\base
    typedoc.php dans ecrire\base
    type_urls.php dans ecrire\configuration
    accueil.php dans ecrire\exec
    admin_declarer.php dans ecrire\exec
    admin_tech.php dans ecrire\exec
    articles.php dans ecrire\exec
    articles_edit.php dans ecrire\exec
    articles_forum.php dans ecrire\exec
    articles_versions.php dans ecrire\exec
    auteur_infos.php dans ecrire\exec
    calendrier.php dans ecrire\exec
    controle_forum.php dans ecrire\exec
    export_all.php dans ecrire\exec
    install.php dans ecrire\exec
    naviguer.php dans ecrire\exec
    rubriques_edit.php dans ecrire\exec
    agenda.php dans ecrire\inc
    ajouter_documents.php dans ecrire\inc
    article_select.php dans ecrire\inc
    autoriser.php dans ecrire\inc
    charsets.php dans ecrire\inc
    dater.php dans ecrire\inc
    diff.php dans ecrire\inc
    distant.php dans ecrire\inc
    documenter_objet.php dans ecrire\inc
    documents.php dans ecrire\inc
    editer.php dans ecrire\inc
    editer_mots.php dans ecrire\inc
    export.php dans ecrire\inc
    filtres.php dans ecrire\inc
    filtres_images.php dans ecrire\inc
    filtres_mini.php dans ecrire\inc
    forum_insert.php dans ecrire\inc
    headers.php dans ecrire\inc
    import.php dans ecrire\inc
    install.php dans ecrire\inc
    invalideur.php dans ecrire\inc
    lien.php dans ecrire\inc
    math.php dans ecrire\inc
    meta.php dans ecrire\inc
    minipres.php dans ecrire\inc
    modifier.php dans ecrire\inc
    nfslock.php dans ecrire\inc
    notes.php dans ecrire\inc
    plugin.php dans ecrire\inc
    prepare_recherche.php dans ecrire\inc
    presentation.php dans ecrire\inc
    presenter_liste.php dans ecrire\inc
    rechercher.php dans ecrire\inc
    revisions.php dans ecrire\inc
    rubriques.php dans ecrire\inc
    syndic.php dans ecrire\inc
    texte.php dans ecrire\inc
    utils.php dans ecrire\inc
    etape_sup2.php dans ecrire\install
    HTMLSax3.php dans ecrire\lib\safehtml\classes
    safehtml.php dans ecrire\lib\safehtml\classes
    svn10000.php dans ecrire\maj
    aiguiller.php dans ecrire\public
    assembler.php dans ecrire\public
    balises.php dans ecrire\public
    boucles.php dans ecrire\public
    compiler.php dans ecrire\public
    criteres.php dans ecrire\public
    interfaces.php dans ecrire\public
    phraser_html.php dans ecrire\public
    quete.php dans ecrire\public
    stats.php dans ecrire\public
    styliser.php dans ecrire\public
    mysql.php dans ecrire\req
    pg.php dans ecrire\req
    sqlite_generique.php dans ecrire\req
    inc_version.php dans ecrire
    index.php dans ecrire
    public.php dans ecrire
    editer_rubrique.html dans prive\formulaires
    login.php dans prive\formulaires
    ajaxCallback.js dans prive\javascript
    text.html dans prive\modeles
    forums.html dans prive\rss
    forums_interne.html dans prive\rss
    forums_prop.html dans prive\rss
    forums_public.html dans prive\rss
    forums_spam.html dans prive\rss
    forums_vide.html dans prive\rss
    statistiques.html dans prive\transmettre
    statistiques_article.html dans prive\transmettre
    style_prive.html dans prive
    style_prive_formulaires.html dans prive
    ecrire_auteur.php dans squelettes-dist\formulaires
    forum.php dans squelettes-dist\formulaires
    engines-list.txt dans squelettes-dist
    favicon.ico.html dans squelettes-dist
    ical.html dans squelettes-dist
    recherche.html dans squelettes-dist

    Qui peut me confirmer que ces listes sont correctes pour que je puisse lancer le correctif au plus vite ?

    Merci pour votre aide et bravo pour votre réactivité en plein milieu de la période estivale :)

    Manu

    • Déesse A.

      D’abord il faut savoir que la gravité sur la 1.9.2 est nettement moindre que sur la 2.0. Ensuite, la modification du seul fichier ecrire/index.php devrait suffire.

    • Shnoulle

      Tu peut peut être utiliser spip_loader.php, ta connexion sera peut utilisée.

    • Matthieu Marcillaud

      Le zip ci contre donne uniquement les fichiers modifiés entre 2.0.8 et 2.0.9 (Trac, quel outil puissant !) :
      Zip des modifications

    Répondre à ce message

  • Eric, je pense que c’est quand même bon, car je viens de la faire et je suis comme toi.
    Par contre, perso, j’ai pas utiliser « spip_loader », j’ai tout envoyer par FTP

    Sinon, j’ai suivi les instruction à la lettre ici :
    http://www.spip.net/fr_article1318.html

    Cela doit être une ancienne façon de faire, car j’ai pas eu « d’écran d’authentification par FTP »
    J’ai eu un message à propos de mettre la base à jour et puis c’est tout.

    J’ai dû faire comme il fallait, car le site semble être ok, mais je le signal quand même, pour les prochains qui feront la mise à jour et qui comme moi, débute :-)

    Répondre à ce message

  • mtfkarukera

    Merci les gars ! C’est sûr, comme dit Manu T, cette réactivité est impressionnante.

    Big up !

    Répondre à ce message

  • Bonjour,

    Je viens d’effectuer la mise à jour 2.0.8 vers 2.0.9 mais dans le bas de page de l’espace privé cela m’affiche :

    SPIP 2.0.9 [13982]

    13982 est la révision de la 2.0.8 non ?

    De plus le fichier CHANGELOG.txt ne contient pas les changements 2.0.8 - 2.0.9

    Merci

    Répondre à ce message

  • 1
    .Gilles

    Il me semble avoir lu qu’il suffit d’enlever les droits d’écriture dans le répertoire /config/ et tous les fichiers qu’il contient.

    Donc en attendant de faire de mise à jour, en risquant de planter les plugins, n’est-ce pas la première opération à recommander ?

    • marcimat

      Je crois que ce n’est justement pas suffisant, ne corrigeant qu’un des deux problèmes remontés.

    Répondre à ce message

  • 1

    J’ai un site sous cette version, et j’avoue ne pas vouloir le mettre à jour si c’est possible..

    Est-ce que cette faille de sécurité le concerne ?

    • Non, cette faille ne concerne pas la version 1.8.3.
      Mais tu devrais utiliser l’écran de sécurité car cette version contient d’autres défauts non corrigeables et bouchés par l’écran.

    Répondre à ce message

  • 2

    Bonjour,
    au secours !! Je viens d’appliquer le correctif comme d’habitude, mais quand je tape l’adresse de notre site : www.sudeducalsace.info, je n’ai plus qu’une page complètement blanche sans aucun message d’erreur par ailleurs (j’ai vidé le cache de mon butineur).
    Merci d’avance, Giampiero Russo

    • Loiseau2nuit

      Quel correctif ? Upgrade de SPIP ou Ecran de sécu ???

    • nico4peace

      tu as vidé de dossier tmp ?

    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