IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

107PARTAGES

13  0 
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 erreur dans cette actualité ? Signalez-nous-la !

Avatar de Steinvikel
Membre expert https://www.developpez.com
Le 15/06/2019 à 8:49
Pour éditer du text, plus le logiciel intègre de fonctionnalités (Emacs fait 3 Mo), plus la surface d'attaque /bug est grande.
Passe plutôt à nano (500 ko). =)

@yahiko --> troll ?
2  0 
Avatar de Fleur en plastique
Membre extrêmement actif https://www.developpez.com
Le 14/06/2019 à 15:24
Hé bah pu fille_de_mauvaise_vie !

Si j'avais su qu'éditer un banal fichier texte pouvait ainsi lancer une connexion à distance à un intrus. C'est assez impressionnant, et effrayant. J'imagine le fichier texte avec pour nom "édite-moi.txt"

Je passe à emacs.
0  0 
Avatar de TheLastShot
Membre extrêmement actif https://www.developpez.com
Le 15/06/2019 à 11:58
Une vulnérabilité récemment corrigée dans les éditeurs de texte préinstallés dans diverses distributions Linux
Alors j'ai peut-être pas de bol, mais à chaque fois que j'ai dû réinstaller une debian je me suis retrouver avec juste vu et j'ai dû installer vim moi-même...
0  0 
Avatar de yahiko
Rédacteur/Modérateur https://www.developpez.com
Le 15/06/2019 à 6:13
Autant rester sous Windows du coup.
1  2