Une faille critique découverte dans SUDO : attention à vos machines Linux... |
————— 15 Octobre 2019 à 09h00 —— 12009 vues
Une faille critique découverte dans SUDO : attention à vos machines Linux... |
————— 15 Octobre 2019 à 09h00 —— 12009 vues
Si vous avez tâté un petit peu le pingouin, vous avez probablement déjà touché à la commande sudo. Originellement SuperUser DO ("lance en tant qu'administrateur"), son sens a depuis dérivé vers Switch User DO ("lance en tant qu'un autre utilisateur"), bien que l'usage courant reste très majoritairement celui de prendre pour une commande seulement les droits quasi absolus sur la machine (techniquement, il reste des zones non accessibles réservées au kernel, mais cela est en pratique rarement un frein à une quelconque exécution). La commande a même dépassé pour certains le cadre de l'informatique pour devenir une private joke franchement geek afin de se reconnaître entre initiés.
Vous imaginez alors que l'utilitaire a du être codé avec le plus grand soin... mais cela ne suffit apparemment pas pour l'exempter de bogues : une vulnérabilité a été découverte, bien évidemment baptisée de son petit nom : CVE-2019-14287 ; elle doit sa découverte à un chercheur à l'Apple Information Security répondant au nom de Joe Vennix.
La vulnérabilité est présente lorsque le fichier de configuration autorise l'exécution d'un binaire par n'importe quel utilisateur via le mot-clef ALL, à condition que celui-ci soit présent en premier dans le fichier de configuration. Par exemple, si votre /etc/sudoers file contient l'instruction :
myhost bob (ALL, ! ROOT) /usr/bin/vi
...qui permet normalement d'autoriser à bob d'exécuter vi, un éditeur de texte en terminal, en tant que n'importe quel autre utilisateur SAUF root, un problème de taille se pose.
En effet, si un utilisateur précise via l'option "-u" de se faire passer par un autre utilisateur portant l'identifiant (normalement invalide) "-1" ou "4294967295" (la traduction de sa représentation en entier sans signe), hé bien... il exécutera le programme tout bonnement en mode root sans rentrer de mot de passe. Pire encore, l'identifiant n'étant pas valide, le système PAM (Pluggable Authentication Modules) censé gérer l'authentification (par saisie de mot de passe ou non, par exemple via un lecteur d'empreinte digitale) ne se lancera même pas ! De quoi laisser des traces dans le slip des sysadmins... La faute incombant à la fonction de conversion depuis la chaîne de caractères communiquée vers un nombre, qui traitera ce "-1" comme... 0, l'identificateur habituel du compte root.
Si vous pensez "ça va, ce n'est qu'un éditeur de texte, pas de soucis", d'une part il sera possible de modifier n'importe quel fichier système de votre machine, et, d'autre part, sachez qu'il est très facile d'en sortir pour exécuter n'importe quelle commande - c'est même une fonctionnalité désiré et courante (ou trouvable) sur la plupart des utilitaires Linux pouvant être laissés en accès libre. Un coup dur pour l'OS manchot.
Tux reste serein... ce n'est pas le cas de tous !
Pour y pallier, une simple mise à jour du logiciel vers la version 1.18.28 via votre gestionnaire de paquets suffit : simple et efficace. Mais, contrairement à un Windows, la plupart des distributions Linux n'ont pas de système de mise à jour automatique, même pour des correctifs aussi critiques, ce qui signifie que certains serveurs non entretenus risquent fortement de se trimballer la faille un bon bout de temps ! Attention donc si vous êtes en charge d'une frontale...