Une faille de Sudo donne un accès root sur les systèmes Linux

0

Une faille de Sudo qui pourrait permettre à tout utilisateur local sur la plupart des systèmes Linux ou Unix d’avoir un accès root a été découverte. Elle existe apparemment depuis une décennie, selon les chercheurs.

La faille a été découverte dans Sudo, un utilitaire intégré à la plupart des systèmes d’exploitation Unix et Linux qui permet à un utilisateur sans privilèges de sécurité d’exécuter un programme avec les informations d’identification d’un autre utilisateur. Les chercheurs de Qualys ont nommé la vulnérabilité «Baron Samedit», identifiée comme CVE-2021-3156. Ils ont dit que la vulnérabilité est apparue dans le code de l’utilitaire en juillet 2011.

«Les chercheurs en sécurité de Qualys ont été en mesure de vérifier indépendamment la vulnérabilité et de développer plusieurs variantes d’exploit, et d’obtenir des privilèges root complets sur Ubuntu 20.04 (Sudo 1.8.31), Debian 10 (Sudo 1.8.27) et Fedora 33 (Sudo 1.9. 2) », indique le rapport. «D’autres systèmes d’exploitation et distributions sont également susceptibles d’être exploitables.»

linux sudo

Les développeurs de Sudo ont déployé une mise à jour pour corriger la vulnérabilité dans Sudo version 1.9.5p2.

«Tous les systèmes de type Unix n’utilisent pas la même implémentation de Sudo, mais cette vulnérabilité se trouve dans l’implémentation distribuée à partir de https://www.sudo.ws/sudo.html (la page principale de Sudo) et est une implémentation largement utilisée», a déclaré David A. Wheeler de la Fondation Linux.

Mais les nouvelles sur la faille de Sudo ne sont pas toutes terribles.

Seulement locale: la bonne nouvelle concernant la faille de Sudo

«La bonne nouvelle c’est que ce n’est pas exploitable à distance [sans authentification]», a ajouté Wheeler. «Un attaquant doit déjà être en mesure d’exécuter des programmes sur l’ordinateur vulnérable avant que cette vulnérabilité puisse être exploitée.»

Jerry Gamblin, directeur de la recherche sur la sécurité chez Kenna Security, a convenu avec Wheeler que si cette vulnérabilité est dangereuse, la possibilité d’attaques est faible.

«Un individu malveillant aurait besoin d’un accès distant (SSH) ou direct à une machine Linux vulnérable», a déclaré Gamblin. «Bien qu’il s’agisse d’une vulnérabilité qui devrait être corrigée rapidement, elle nécessite un certain niveau d’accès préexistant, ce qui rend une exploitation généralisée peu probable.»

linux sudo

Cela dit, les individus malveillants ou les attaquants qui ont obtenu un accès initial à un environnement Linux sont toujours parfaitement capables d’exploiter le problème. Les botnets Linux sont également un vecteur d’attaque. Le malware FreakOut récemment découvert, par exemple, cible les appareils Linux avec des produits spécifiques qui n’ont pas été corrigés contre diverses failles. Il ajoute des appareils compromis à un botnet qui peut ensuite être utilisé à des fins multiples, comme déployer des logiciels malveillants supplémentaires ou mener des attaques par déni de service. Il possède également des capacités de force brute utilisant des informations d’identification codées en dur pour infecter d’autres périphériques réseau.

«Je m’attends à ce que ce CVE ait un score CVSS compris entre 6 et 8. Il s’agit d’une attaque locale qui nécessite une faible complexité et affecte l’intégrité et la confidentialité», a déclaré Gamblin. «Le risque de cette vulnérabilité serait considérablement plus élevé si vous offriez un accès au terminal à des utilisateurs à faibles privilèges, par exemple dans un environnement éducatif ou un environnement dans lequel l’accès est donné aux employés pour exécuter ou surveiller des tâches individuelles.

Détails sur la faille

Voici comment fonctionne la vulnérabilité: Plus précisément, la faille est un débordement de tampon dans Sudo qui pousse tout utilisateur local à l’exécuter en mode «shell».

Les auteurs de Sudo ont expliqué dans un avis que lorsque Sudo s’exécute en mode shell, « il échappe les caractères spéciaux dans les arguments de la commande avec une barre oblique inverse. » Ensuite, un plug-in supprime tous les caractères d’échappement avant de décider des autorisations de l’utilisateur de Sudo.

Mais ce n’est pas seulement une faille unique qui a exposé ces systèmes, c’est en fait la combinaison de deux failles travaillant en tandem dans Sudo qui rend l’exploitation possible, expliquent les auteurs.

« Une vulnérabilité dans le code qui supprime les caractères d’échappement lira au-delà du dernier caractère d’une chaîne s’il se termine par un caractère anti-slash sans échappement », ont expliqué les auteurs de Sudo. « Dans des circonstances normales, cette faille serait inoffensif car Sudo a échappé à toutes les backslash dans les arguments de la commande. »

Mais une autre vulnérabilité, auquel le CVE est assigné, se cachait dans Sudo.

« Cependant, en raison d’une autre faille de sécurité, cette fois dans le code d’analyse de la ligne de commande, il est possible d’exécuter « sudoedit » avec les options -s ou -i, en définissant un indicateur indiquant que le mode shell est activé », selon l’alerte. «Puisqu’une commande n’est pas réellement exécutée, Sudo n’échappe pas les caractères spéciaux. Enfin, le code qui décide de supprimer les caractères d’échappement ne vérifie pas si une commande est réellement exécutée, mais simplement que l’indicateur shell est défini. Cette incohérence est ce qui rend la faille exploitable. »

Le dépassement de tampon de Linux/Unix

Techniquement parlant, le code vulnérable déborde du tampon «user_args» et cela donne aux attaquants le contrôle sur la taille et le contenu du débordement et leur permet de changer d’octets dans le débordement, selon Qualys.

«Par exemple, sur un appareil Linux avec l’architecture amd64, la commande suivante alloue un tampon «user_args» de 24 octets (un morceau de tas de 32 octets) et écrase la taille du champ du morceau suivant par « A=a\0B=b\0 » (0x00623d4200613d41 ), son champ fd avec « C=c\0D=d\0 » (0x00643d4400633d43), et son champ bk avec « E=e\0F=f\0 » (0x00663d4600653d45): « dit le rapport.

Les chercheurs de Qualys ont publié une vidéo de preuve de concept (PoC):

Wheeler a ajouté que toute personne utilisant un système d’exploitation Linux devrait implémenter la mise à jour patchée de Sudo dès que possible.

«L’autre bonne nouvelle est que cela est facilement corrigeable en installant la mise à jour; corriger cela ne devrait pas changer son fonctionnement dans le cas normal », a ajouté Wheeler. « Vous devez donc immédiatement passer à la version corrigée. »

Vous pourriez aussi aimer
Laisser un commentaire

Votre adresse email ne sera pas publiée.