Patché ces dernières heures, l'interpréteur de lignes de commandes Bash, utilisé sur de nombreux systèmes GNU/Linux, avait une faille critique qui permettait de prendre discrètement le contrôle d'un serveur sans avoir à utiliser un compte d'administrateur. Explications.

Le US-CERT, le centre américain de réponse d'urgence aux menaces sur la sécurité informatique, a révélé mercredi la découverte d'une faille d'une gravité extrême dans Bash (ou Bourne-Again shell). Il s'agit du shell Unix utilisé sur une part importante des systèmes GNU/Linux, et présent également dans Mac OS/X. L'utilitaire créé à la fin des années 1980 par la Free Software Foundation (FSF) facilite la saisie de commandes par l'utilisateur, en proposant un langage simplifié qu'il interprète et traduit vers le langage de l'OS, avec au passage une vérification syntaxique qui permet de prévenir des éventuelles erreurs de saisie.   

La faille de Bash détectée par l'US-CERT obtient la note maximale de 10 en terme de gravité et est jugée "peu complexe" à mettre en oeuvre pour qui souhaite l'exploiter. Contrairement à Heartbleed qui permettait "uniquement" d'accéder à une partie des données restées dans une mémoire tampon, le bug de Bash permet d'accéder à l'intégralité des données stockées sur un serveur, et de prendre le contrôle du serveur pour y modifier des données, des fichiers, ou en effacer. En revanche, moins de serveurs sont vulnérables, la faille n'étant exploitable qu'en fonction des configurations. Le problème a été confirmé et détaillé par les équipes de sécurité de Red Hat.

La technique consiste à créer des variables d'environnement dont la valeur est un code malicieux. En exploitant certaines applications installées sur le serveur, qui permettent de transférer des valeurs d'environnement au moment de lancer le shell Bash, le code est lu et exécuté par l'interpréteur. RedHat cite ainsi des exploits possibles en passant par ForceCommand, par un serveur Apache qui utilise mod_cgi ou mod_cgid, par un client DHCP, et plus globalement toute application qui utilise des scripts Bash.

Selon Florian Weiner qui a été le premier à divulguer la faille, le principal vecteur d'attaques par Bash est l'envoi de scripts CGI par des requêtes HTTP.

Une mise à jour de bash a été immédiatement publiée pour interdire que du code exécutable soit mis comme valeur de la variable d'environnement, mais le correctif a été jugé "incomplet" par Tavis Ormandy, chercheur en sécurité :

Les éditeurs de distributions Linux ont également publié des conseils particuliers :

Partager sur les réseaux sociaux

Articles liés