Developpez.com

Le Club des Développeurs et IT Pro

Linux et Unix affectés par une faille critique dans Bash

La vulnérabilité pourrait constituer une plus grande menace que Heartbleed

Le 2014-09-25 10:18:52, par Hinault Romaric, Responsable .NET
La découverte d’une nouvelle faille critique qui affecte Linux et Unix vient à nouveau secouer l’univers de la sécurité informatique.

La vulnérabilité toucherait le populaire interpréteur en ligne de commande Bash (Bourne-Again shell). Découverte par le chercheur en sécurité Stephane Chazelas, la faille toucherait toutes les versions antérieures à la version 4.3.

Cette faille, selon les experts en sécurité, pourrait constituer une plus grande menace que la faille Heartbleed, qui avait été découverte en avril dernier dans l’outil de sécurité OpenSSL. Bash est utilisé comme Shell par défaut dans de nombreux systèmes d’exploitation Unix, y compris OS X, et Linux.

La faille pourrait donc affecter de nombreux PC, Mac, serveurs et routeurs. En cas d’exploit, un pirate pourrait prendre le contrôle intégral de ces équipements, accéder à des informations confidentielles, procéder à des modifications sur l’OS, etc. Selon les chercheurs en sécurité, les serveurs Web, dont Apache en particulier, pourraient être compromis via des scripts CGI (Common-Gateway Interface) ou des requêtes HTTP qui font appel à Bash. OpenSSH et DHCP sont également touchés sur les machines qui utilisent Bash.

La faille, qui serait présente dans Bash depuis pratiquement 22 ans, réside au niveau de la manipulation des variables d’environnement dans Bash. Avec des variables spécialement conçues, un pirate pourrait utiliser cette vulnérabilité pour exécuter à distance des commandes Shell.

« Heartbleed permettait aux pirates d’espionner un ordinateur, mais pas d’en prendre le contrôle », explique Dan Guido, PDG du cabinet de sécurité Trail of Bits. « La méthode d’exploitation de cette faille est également beaucoup plus simple. Avec un simple copier/coller d’une ligne de code, vous pouvez obtenir de bons résultats. »

Pour pirater un équipement à distance, le pirate devrait donc être en mesure d’injecter des données dans les requêtes des applications qui appellent des commandes Shell Bash. Les conséquences peuvent être désastreuses pour un serveur si les applications nécessitent des scripts exécutés avec des permissions root. « Si c’est le cas, votre agresseur pourrait assassiner votre serveur », mettent en garde les experts en sécurité.

Une preuve de faisabilité qui utilise des scripts CGI pour exécuter du code avec les mêmes privilèges que le serveur Web est déjà disponible sur Internet. Vous pouvez vérifier si votre système est vulnérable en exécutant les commandes suivantes dans votre Shell. Si le mot « busted » est affiché à l’écran, alors votre système est vulnérable.

Code :
1
2
3
env X="() { :;} ; echo busted" /bin/sh -c "echo completed"
env X="() { :;} ; echo busted" `which bash` -c "echo completed"
Des correctifs pour cette faille auraient déjà été publiés pour toutes les versions de Bash affectées. Il est conseillé de les appliquer sur tous les systèmes disposant de Bash. Actuellement, il semblerait que seuls Red Hat et Debian aient proposé des patchs pour leur OS. Apple ne s’est pas encore manifesté en ce qui concerne OS X.

Source : SecLists

Et vous ?

Qu'en pensez-vous ?
  Discussion forum
60 commentaires
  • benjani13
    Membre extrêmement actif
    Envoyé par Traroth2
    Sérieusement, on est en train de parler d'une faille qui nécessite que le pirate puisse déposer un script sur le serveur et l'exécuter en root.
    Totalement faux.

    Envoyé par Traroth2

    Ou alors qu'il connaisse un script appelé depuis une application web et qui sette des variables d'environnement à partir de paramètres saisis dans une interface web.Toujours en root...
    Re totalement faux.

    Lis les commentaires précédent

    Et arrêtez de penser que sans compte root on ne peut rien faire. Ça limite l'action oui, mais ça n'empêche pas de foutre la grouille. Et il "suffit" qu'un hacker utilise une fois connecté une faille de privilege escalation pour passer root. Une faille n'est qu'un outil, un hacker pour arriver à ses fins utiliseras plusieurs failles complémentaires.
  • palnap
    Membre averti
    A relativiser tout de même... il me semble que setter des variables d'environnement depuis un serveur web lui même exécuté en root c'est déjà une faille de sécurité en soi !
  • elssar
    Membre actif
    Absolument pas ! La plupart des experts en sécurité ont connaissances du fait que le milieu open source n'est pas fiable à 100%(rien ne l'est en informatique).
    C'est pour ça qu'ils mettent en place des process au cas ou leur système est vulnérable, voir au cas ou un pirate s'introduit. Peut-être que certains admin sys pensent à tord que toute est fiable. Mais à mon avis ça ne représente pas la majorité.

    Et ça ne remet pas en cause l'open source. Je préfère avoir une faille de temps en temps que beaucoup de failles.

    Ah et je ne suis pas vraiment d'accord avec le mythe du "les hackers ne s'intéresse pas à pirater du linux vu la faible part de marché". C'est totalement faux, je suis d'accord pour l'os d'apple. Mais concernant linux il est très très très largement plus répandu que Windows. La majorité des systèmes utilisant un processeur utilise un kernel linux.(distributeur de banque, décodeur tv etc etc).

    D'autre part la grande majorité des serveurs sont sur des produits open-source et des distrib linux. Alors certes chez le particulier il est moins répandu. Mais le secteur des ordinateurs perso ne représente pas à lui tout seul les systèmes informatiques. Et je ne parle même pas du prestige. Donc je pense qu'un pirate à aussi toute intérêt à chercher des failles de se côté.
  • imikado
    Rédacteur
    Envoyé par persé
    je pense qu'avec ces deux grande failles on est arrivé à la fin du mythe que linux et le systéme le plus sécurisé pas de failles pas de virus, la seule chose qui lui a permet de rester peu vulnirable par rapport aux autres systémes est que le hakers ne s'interessaient pas trop à l'attaquer c'est sa part du marché, là avec les declaration de snowden en vie une ruée vers l'open source du coup on s'interesse baucoup plus aux failles qui datent de plus de 22 ans.
    Euh, comment dire: autant pour le marché grand public, GNU/linux a une part de marché anecdotique, autant pour les hackeur il est plus fructueux de s'attaquer à des millions de sites webs hebergés sur des serveurs de cette famille qu'à l'ordinateur sous windows de Mme michu

    Un hackeur preferera hacker un site banquaire, que le PC d'un de ses clients
  • benjani13
    Membre extrêmement actif
    Pour ceux disant qu'une faille côté applicative est nécessaire, on pourrait le croire selon la news mais c'est faux. Il y a des vecteur d'attaques direct.

    Cf:
    http://seclists.org/oss-sec/2014/q3/650

    Le meilleur vecteur d'attaque est le script CGI. Si un script CGI est en place, on peut l'appeler avec des données modifiés dans la requêtes (afin d'insérer le code malicieux). Or, les headers de la requêtes sont mapé dans des variables d'environnement (spécification de CGI). Et donc le code malicieux se retrouve dans une variable d'environnement, code qui sera exécuté.

    J'ai vu un code d'exploit passant par un script CGI.
  • laerne
    Membre éprouvé
    Il y avait une énorme faille de sécurité dans le libc de linux il y a 4 ans, qui permettait de passer root. Genre dans la lib que 99.9% des applications utilisent… C'est bizarre à l'époque la masse populaire n'en a vraiment pas vraiment été effrayé/scandalisé. Les gens concernés ont juste fait un mise à jour quoi. Je me demande ce qu'il s'est passé depuis 4 ans pour que le public soit aussi sensible sur ces questions d'un coup.
  • benjani13
    Membre extrêmement actif
    Envoyé par Grimly
    Je n'ai pas compris la faille...

    Je ne parviens pas à faire quoi que ce soit dont je n'aurais pas les droits par ce moyen :

    [...]

    Je dois passer par un autre compte pour accéder à ce répertoire sur le même serveur. Je reste incapable de réaliser quoi que ce soit dont je n'aurais pas les droits.

    Après s'il s'agit d'une faille sur l'exécution de code à l'affectation à l'environnement, c'est plus un problème sur les double quote et donc une "feature" indésirable plus qu'un bug.
    Ce n'est pas une faille du type privilege escalation, mais un remote code execution. C'est à dire que quelqu'un qui n'est pas logué sur ton serveur, peut exécuter du code. Pour cela il faut trouver un service distant qui tourne sur le serveur et qui modifie les variables d'environnement, et permettant de contrôler le contenu inscrit dans ces variables. CGI se prête à cela. Regarde mon premier post ainsi que celui de _Von_

    Envoyé par laerne
    Il y avait une énorme faille de sécurité dans le libc de linux il y a 4 ans, qui permettait de passer root. Genre dans la lib que 99.9% des applications utilisent… C'est bizarre à l'époque la masse populaire n'en a vraiment pas vraiment été effrayé/scandalisé. Les gens concernés ont juste fait un mise à jour quoi. Je me demande ce qu'il s'est passé depuis 4 ans pour que le public soit aussi sensible sur ces questions d'un coup.
    Envoyé par Neckara
    Je trouve, moi-même, l'actualité un peu alarmiste.
    J'ai l'impression qu'on découvre que toute application peu avoir des failles et qu'on panique .

    Il existe énormément de possibilités sous Linux pour gérer les droits des utilisateurs très finement, pour confiner des processus, etc.
    Le but n'est pas de de scandaliser ni d'effrayer. Le but est de relayer l'information le plus vite possible (et certes, le plus fort possible) afin que les administrateur mette à jour le programme incriminé.
    Après, quand ce genre de news arrive sur des sites genre Le Monde ou autres journaux grand publics oui on est dans la news spectacle et non dans l'information.

    Envoyé par Neckara

    Alors oui, si on exécute tout en tant que root, il ne faut pas s'étonner d'avoir des failles .

    Enfin bref, ça fera un argument supplémentaire pour les trolls pro-windows .
    Ta première phrase n'a pas de sens car la faille ici a rien à voir avec le fait de tourner en root ou non.
    Ta seconde phrase... bref, je dirais rien...
  • benjani13
    Membre extrêmement actif
    Envoyé par Traroth2
    Les commentaires n'apprennent pas grand-chose. Donc je suis allé voir la description de la faille, ici.
    Je me permet de m'auto citer (première page):
    Envoyé par benjani13
    Pour ceux disant qu'une faille côté applicative est nécessaire, on pourrait le croire selon la news mais c'est faux. Il y a des vecteur d'attaques direct.

    Cf:
    http://seclists.org/oss-sec/2014/q3/650

    Le meilleur vecteur d'attaque est le script CGI. Si un script CGI est en place, on peut l'appeler avec des données modifiés dans la requêtes (afin d'insérer le code malicieux). Or, les headers de la requêtes sont mapé dans des variables d'environnement (spécification de CGI). Et donc le code malicieux se retrouve dans une variable d'environnement, code qui sera exécuté.

    J'ai vu un code d'exploit passant par un script CGI.
  • kOrt3x
    Modérateur
    Apple vient de mettre à disposition des correctifs pour OS X :

    OS X bash Update 1.0 - OS X Lion
    OS X bash Update 1.0 – OS X Mountain Lion
    OS X bash Update 1.0 – OS X Mavericks

    Apparemment, pas de mises à jour pour les versions antérieurs à 10.7 et pas de correctif pour la prochaine version de OS X Yosemite, elle serait directement intégrée.
  • deusyss
    Expert éminent
    J'ai l'impression qu'avec la montée des OS à base d'Unix aussi bien a titre pro qu'a titre perso (Ubuntu, android, ...), on va voir plus de failles apparaitre. Ce qui en soit n'est pas un mal. Cela ne fait en tout cas, pour moi, que confirmer ce que j'avais lu dans un article, sur Oracle et son PDG (ex??) qu'il fallait exploiter l'Open Source.

    Les entreprises l'ont utilisées en se posant que rarement des questions sur la vrai sécurité pendant des années. Maintenant qu'on se plonge un peu plus dans le code, on voit apparaitre les failles, mais au moins, maintenant, elles participent à améliorer le code grâce à l'organisation dédiée suite à Heartbleed.