Une vulnérabilité récemment corrigée dans les éditeurs de texte préinstallés dans diverses distributions Linux permet aux pirates de prendre le contrôle des ordinateurs lorsque les utilisateurs ouvrent un fichier texte illicite. La dernière version de macOS d’Apple continue d’utiliser une version vulnérable, bien que les attaques ne fonctionnent que lorsque les utilisateurs ont modifié un paramètre par défaut qui active une fonctionnalité appelée modelines.
Vim et son fork NeoVim contenaient une faille qui résidait dans modelines. Cette fonctionnalité permet aux utilisateurs de spécifier les dimensions de la fenêtre et d'autres options personnalisées à proximité du début ou de la fin d'un fichier texte. Cette fonctionnalité est activée par défaut et appliquée à tous les types de fichiers, y compris les fichiers .txt.
Pour des raisons de sécurité, seul un sous-ensemble d'options est autorisé dans les modelines, et si la valeur de l'option contient une expression, celle-ci est exécutée dans un sandbox. Il est d’ailleurs expliqué sur le référentiel de Vim « qu’aucune autre commande que "set" n'est prise en charge, pour des raisons de sécurité (quelqu'un peut créer un fichier texte avec un cheval de Troie avec des modelines). Et toutes les options ne peuvent pas être définies. Pour certaines options, un drapeau est défini, de sorte que, lorsqu'il est utilisé | sandbox | est efficace ».
Le bac à sable est donc destiné à prévenir les effets secondaires : « Les options 'foldexpr', 'formatexpr', 'includeexpr', 'indentexpr', 'statusline' et 'foldtext' peuvent être évaluées dans un bac à sable. Cela signifie que vous êtes protégé contre ces expressions ayant des effets secondaires désagréables. Cela donne une certaine sécurité lorsque ces options sont définies à partir d’une modeline ».
Alors que modelines limite les commandes disponibles et les exécute dans un bac à sable qui est isolé du système d'exploitation, le chercheur Armin Razmjou a remarqué que la commande :source! contournait cette protection : « Elle lit et exécute les commandes d'un fichier donné comme si elles étaient saisies manuellement, en les exécutant une fois que le bac à sable a été quitté », a écrit le chercheur dans un message publié plus tôt ce mois-ci.
Ainsi, on peut trivialement construire une modeline qui exécute du code en dehors du sandbox:
La publication inclut deux fichiers texte de validation de principe dont l’un illustre graphiquement la menace. L'un d'eux ouvre un reverse shell sur l'ordinateur exécutant Vim ou NeoVim. À partir de là, les attaquants pourraient lancer les commandes de leur choix vers la machine réquisitionnée.
« Cette PoC décrit une approche d'attaque réelle dans laquelle un shell inversé est lancé lorsque l'utilisateur ouvre le fichier », a écrit Razmjou. « Pour dissimuler l'attaque, le fichier sera immédiatement réécrit à l'ouverture. En outre, la PoC utilise des séquences d'échappement terminales pour masquer la modeline lorsque le contenu est imprimé avec cat. (cat -v révèle le contenu réel.) »
Le chercheur a inclus l’image GIF suivante:
La vulnérabilité d'exécution de commande nécessite l'activation de la fonctionnalité de modélisation standard, comme dans certaines distributions Linux par défaut. La faille réside dans Vim avant la version 8.1.1365 et dans Neovim avant la version 0.3.6. Cet avis de la base de données nationale sur les vulnérabilités de l’Institut national de la normalisation et de la technologie montre que les distributions Linux de Debian et de Fedora ont commencé à publier des versions corrigées. Les utilisateurs de Linux doivent s’assurer que la mise à jour est installée, en particulier s’ils ont l’habitude d’utiliser l’un des éditeurs de texte concernés.
Vim patch 8.1.1365
Neovim patch (publié dans v0.3.6)
Source : billet du chercheur, National Vulnerability Database
Et vous ?
Utilisez-vous l'un de ces éditeurs ?
Allez-vous effectuer la mise à jour ?
Une vulnérabilité affecte les éditeurs Vim et NeoVim et permet à des hackers de prendre le contrôle des ordinateurs
Un correctif est disponible
Une vulnérabilité affecte les éditeurs Vim et NeoVim et permet à des hackers de prendre le contrôle des ordinateurs
Un correctif est disponible
Le , par Stéphane le calme
Une erreur dans cette actualité ? Signalez-nous-la !