Linux et Unix affectés par une faille critique dans Bash
La vulnérabilité pourrait constituer une plus grande menace que Heartbleed

Le , par Hinault Romaric

0PARTAGES

16  0 
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 : Sélectionner tout
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 ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de TiranusKBX
Expert confirmé https://www.developpez.com
Le 25/09/2014 à 10:37
c'est juste une faille comme une autre
déjà pour pouvoir l'utiliser il faudrait que toutes les couche au paravent ne soient pas sécurisées donc peut probable
la méthode d'exploitation est d'une importance cruciale pour ce genre de faille, si l'on ne passe pas les premières lignes de sécurité ça ne feras strictement rien
Avatar de Ptigrouick
Membre actif https://www.developpez.com
Le 25/09/2014 à 10:39
Version 4.2 de bash, commande testée, patch non appliqué, résultat négatif. Il faudrait que je teste sur une machine avec une plus vieille version de bash mais sur mes serveurs Debian apparemment pas de faille.
Avatar de deusyss
Rédacteur/Modérateur https://www.developpez.com
Le 25/09/2014 à 10:45
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.
Avatar de palnap
Membre actif https://www.developpez.com
Le 25/09/2014 à 10:46
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 !
Avatar de sizvix
Membre habitué https://www.developpez.com
Le 25/09/2014 à 10:52
Elle n'est à craindre que si le client peut exécuter des lignes de commande dans l'environnement du serveur ...
Avatar de imikado
Rédacteur https://www.developpez.com
Le 25/09/2014 à 11:05
Citation Envoyé par Hinault Romaric Voir le message

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.

(...)

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.
Pour information, bash (/bin/bash) est le shell par défaut des utilisateurs sous GNU/Linux pas des services:
Par exemple, www-data sur debian et dérivés utilise /bin/sh et non /bin/bash comme les utilisateurs
Code : Sélectionner tout
1
2
www-data:x:33:33:www-data:/var/www:/bin/sh
Ensuite, pour être utilisée, il faudrait
1. que sur notre site on execute des commande sh via un system() ou autre commande serveur
2. que l'on utilise dans notre apple une variable accessible à l'utilisateur et qui n'ait pas été protégé
Pour rappel, le point 1 est déjà assez rare

Note: sh sous debian like est un alias vers dash http://fr.wikipedia.org/wiki/Debian_Almquist_shell
Code : Sélectionner tout
1
2
lrwxrwxrwx 1 root root       4 mars  14  2014 sh -> dash
Alors que /bin/bash est bien le bash en questino dans l'article
Code : Sélectionner tout
1
2
-rwxr-xr-x 1 root root  924892 mars  30  2013 bash
Avatar de benjani13
Membre extrêmement actif https://www.developpez.com
Le 25/09/2014 à 11:30
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.
Avatar de _Von_
Membre régulier https://www.developpez.com
Le 25/09/2014 à 11:40
Je ne prends pas cette faille à la légère, ce n'est pas qu'une faille applicative à Bash !

Quelle entreprise n'a pas un serveur Apache avec un mod_cgi ou mod_cgid installé dessus ?

On pense bien souvent que Bash n'est qu'un shell local, ce qui n'est pas le cas. Il est souvent utilisé par les serveurs Apache notamment pour exécuter des scripts CGI (contenu dynamique). Des requêtes web conçues spécialement pour cibler une application CGI vulnérables pourraient lancer du code sur le serveur.

D’après ce que j'ai compris d'autres attaques seraient aussi possible à partir de OpenSSH ou via un serveur DHCP malveillant.
Bref pour moi c'est loin d’être trivial !
Avatar de iolco51
Membre habitué https://www.developpez.com
Le 25/09/2014 à 11:42
La comparaison avec Heartbleed, c'est du FUD.
Les CGI ce n'est pas OpenSSL (qui lui est utilisé absolument partout).

On reste dans un domaine vraiment limité, il faut utiliser des scripts CGI sous Bash et que les paramètres passés au CGI ne soient pas filtrés.

Toutefois c'est bien plus facile à exploiter.
Avatar de xarkam
Membre confirmé https://www.developpez.com
Le 25/09/2014 à 11:47
Sur ubuntu server www-data est positionné comme tel:
Code : Sélectionner tout
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web