Bash bug : découverte d'une faille critique affectant des milliers de serveurs et de Mac
Un ingénieur dénommé Stéphane Chazelas a révélé hier une faille de sécurité de grande envergure, appelée Bash bug ou Shellshock, susceptible de permettre à n'importe qui d'exécuter des commandes sur toutes sortes d'ordinateurs et d'appareils.Bien qu'il soit techniquement complètement différent, sur le papier le Bash bug est au moins aussi grave que la faille Heartbleed qui a fait la une il y a six mois. La faille vient du Bourne-Again Shell (Bash), auquel on peut effectivement faire exécuter des commandes dans des contextes dans lesquels ce devrait être impossible, en définissant des variables d'environnement en l'occurrence.
La ligne de commande servant de preuve de concept est assez explicite, même pour un profane :
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
La commande est supposée définir une fonction Bash, mais le shell exécute en fait aussitôt les commandes qui lui sont apposées, alors qu'il ne devrait pas. Dans cet exemple on se contente de retourner du texte, mais on pourrait exécuter n'importe quelle autre commande.
Or Bash est l'interpréteur de commandes par défaut de nombreux systèmes d'exploitation Linux et Unix (dont OS X), il est par conséquent sollicité à de nombreuses occasions, potentiellement par un serveur Web.
Dans certains cas un internaute peut donc exécuter des commandes et saboter un serveur ou obtenir des informations auxquelles il n'aurait pas accès autrement. Le bug ne permet pas d'obtenir d'élévation des privilèges, le périmètre est donc limité dans la plupart des cas. Mais un serveur DHCP malveillant par exemple peut transmettre des variables et donc faire exécuter des commandes à un ordinateur personnel lorsqu'il se connecte au réseau, or le client DHCP bénéficie souvent des droits administrateur (root).
Fort heureusement sur le marché des objets connectés, de nombreux produits reposent sur BusyBox, une distribution Linux allégée intégrant un shell différent, baptisé « Almquist shell » (ash).
Une nouvelle version corrigée de Bash a immédiatement été publiée. Elle est d'ores et déjà proposée par la plupart des distributions Linux, telles que Debian, Ubuntu, Red Hat ou Fedora. Les utilisateurs sont invités à mettre à jour leur système dès que possible. Mais certains experts en sécurité soulignent qu'elle ne comble que partiellement la faille. Il y aura donc des suites ces prochains jours, que nous ne manquerons pas de relayer.
Si les failles de sécurité sont nombreuses au sein de nos systèmes d’exploitation, certaines sont moins dangereuses que d’autres. Mais la dernière en date découverte ce matin et qui touche à la fois Android, Linux, et OS X est ce qu’on peut appeler une faille critique puisque qu’elle affecte le Bash, système de shell le plus répandu sur ces trois OS.
Découverte par un français du nom de Stéphane Chazelas, la faille en question est présente sur la quasi-totalité des versions de Bash et permet au hacker, une fois exploitée, d’exécuter diverses commandes à distance.
Moins dangereuse que HeartBleed du fait que celle-ci ne pourra pas octroyer au hacker plus de privilèges qu’à l’utilisateur, cette faille de sécurité qui touche aujourd’hui Android, Linux, et OS X n’en reste pas moins redoutablement inquiétante du fait du nombre d’OS et d’appareil concernés.
En termes simples, si Bash a été configuré comme shell du système par défaut, alors, il sera tout à fait possible, pour un hacker, de lancer un code malveillant sur le serveur à partir d’une simple requête web. Elle peut donc affecter un nombre important de serveurs et être exploitée dans de nombreux contextes, à commencer par une requête web ou tout simplement à travers une application exécutant des scripts bash.
Pour vérifier si vous êtes concernés par cette faille, il vous suffit de saisir les deux lignes de commandes suivantes sur votre appareil :
env X="() { :;} ; echo shellshock" /bin/sh -c "echo completed"
env X="() { :;} ; echo shellshock" `which bash` -c "echo completed"
Si votre machine affiche successivement « shellshock » et « completed », comme sur l’image ci-dessous, cela signifie alors qu’elle est vulnérable.
Comment tester sur Android
Pour tester si votre Android est affecté par cette faille, il vous suffit de télécharger et d’exécuter l’application Terminal IDE, disponible gratuitement dans le Play Store, en cliquant sur le lien ci-dessous.Alertés par cette faille, plusieurs éditeurs de systèmes d’exploitation ont déjà commencé à déployer des patchs de sécurité :