Unix/Linux : Une faille critique Bash identifiée, patch à appliquer en urgence #Shellshock

4
148

Alerte sécurité – Une faille critique dans le populaire environnement console Bash affecte les systèmes Linux et Unix. Elle permet d’exécuter des attaques à distances contre des serveurs Web. Des correctifs sont disponibles et à appliquer au plus vite.

C’est un chercheur, Stephane Chazelas, qui vient d’identifier une vulnérabilité dans Bash, une faille qui selon plusieurs experts en sécurité pourrait présenter un risque supérieur à celui de Heartbleed, affectant les bibliothèques OpenSSL. La vulnérabilité dans l’interpréteur de commandes réside dans la manière dont Bash interprète des variables. Un attaquant pourrait ainsi grâce à des variables spécifiques exploiter cette faille logicielle pour exécuter des commandes shell, au sein des systèmes Unix, Linux et OS X. Le déploiement d’un correctif pourrait poser un défi plus ardu qu’avec Heartbleed…

Pourtant, en théorie, pour réaliser une telle attaque, le pirate devrait en principe déjà disposer d’un accès au système vulnérable. Toutefois, l’équipe sécurité de Red Hat précise que « certains services et applications autorisent des attaquants distants non-authentifiés à fournir des variables d’environnement, leur permettant d’exploiter ce problème ». Par conséquent, si une application appelle une commande shell Bash via un script HTTP ou CGI (Common-Gateway Interface) d’une façon autorisant l’utilisateur à insérer des données, le serveur Web est vulnérable à une attaque.

Les experts en sécurité tirent la sonnette d’alarme à l’unisson. Interrogé par CNET, Tod Beardsley de Rapid7 résume la situation ainsi :

Le logiciel affecté, Bash, est largement utilisé et donc des attaquants peuvent exploiter la vulnérabilité pour des exécutions à distance sur un large éventail d’appareils et serveurs Web. Avec cette vulnérabilité, des attaquants peuvent potentiellement prendre le contrôle du système d’exploitation, accéder à des informations confidentielles, faire des changements…

Ainsi, selon Andy Ellis, le directeur de la sécurité informatique d’Akamai Technologies, la vulnérabilité de Bash affecte potentiellement un grand nombre d’applications. Un risque encore accru lorsque les applications appellent des scripts en mode root ou super-utilisateur. Pour certains experts, Shellshock est un problème pire que ne l’a été Heartbleed et qui pourrait encore persister pendant plusieurs années, d’autant plus que l’Internet des objets regorge de dispositifs tirant parti de scripts exécutés dans Bash.

Une vulnérabilité déjà exploitée par les pirates informatiques

Lexsi, qui qualifie la faille de « Shellshock », assure même que celle-ci « s’exploite de manière triviale avec seulement 3 petites lignes de code ». Présente « depuis plus de 20 ans », cette vulnérabilité a déjà été exploitée, a constaté le cabinet de sécurité.

Pour prévenir des attaques, il est préférable de contrôler les entrées (inputs) sur les applications Web et de désactiver les scripts CGI faisait un appel sur le shell. Akamai recommande par ailleurs de basculer sur un autre interpréteur que Bash. Cependant, tous n’utilisent pas la même syntaxe et des fonctions similaires. Des applications pourraient donc rencontrer des problèmes de fonctionnement.

Enfin, il est indispensable de télécharger les correctifs mis à disposition. Les développeurs de Bash ont ainsi patché les versions 3.0 à 4.3. Du côté des distributions, Red Hat et Debian proposent des patchs sous formes de packages. Les autres éditeurs concernés devraient leur emboiter le pas.

Savoir si l’on est vulnérable ou pas

Pour cela, une manipulation simple existe : tapez la commande env x='() { :;}; echo vulnerable’ bash -c “echo this is a test”

Si votre système est vulnérable, cela affichera “vulnerable” en sortie. Dans le cas contraire, vous aurez le droit à ces erreurs :

bash: warning: x: ignoring function definition attempt

bash: error importing function definition for `x'

Si vous êtes vulnérable (ce qui est surement le cas), voici la procédure manuelle de mise à jour de Bash si vous êtes sous Debian :

mkdir src
cd src
wget http://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz
#download all patches
for i in $(seq -f "%03g" 0 25); do wget http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-$i; done
tar zxvf bash-4.3.tar.gz
cd bash-4.3
#apply all patches
for i in $(seq -f "%03g" 0 25);do patch -p0 < ../bash43-$i; done #build and install
./configure && make && make install

Vous serez ensuite tranquille concernant votre sécurité, du moins de ce côté-ci !

Les commentaires sont fermés.