vim

Linux: Prudence en ouvrant un fichier avec Vim ou Neovim

Si vous n’avez pas mis à jour votre système d’exploitation Linux récemment, faites attention quand vous essayez de voir le contenu d’un fichier en utilisant Vim ou Neovim.

Le chercheur en sécurité, Armin Razmjou, a découvert une vulnérabilité d’exécution de commande arbitraire (CVE-2019-12735) dans Vim et Neovim— les deux applications d’édition de texte les plus populaires qui sont pré-installées sur la plupart des systèmes d’exploitation Linux.

Sur les systèmes Linux, l’éditeur Vim permet aux utilisateurs de créer, voir ou éditer certains types de fichiers, incluant les fichiers textes, les scripts, et les documents.

Neovim est une version améliorée de Vim, avec une meilleure expérience utilisateur, des plugins et des interfaces graphiques.

Faille d’exécution de code dans Vim et Neovim

Razmjou a découvert une faille dans la méthode utilisée par Vim pour manipuler les “modelines,” une fonctionnalité activé par défaut pour automatiquement trouvé et appliqué un ensemble de préférences choisies par le créateur du fichier.

linux-vim-vulnerability

Bien que l’éditeur permet seulement un sous-ensemble d’options en modelines (pour des raisons de sécurité) et utilise une protection sandbox si le fichier contient une expression non-sécurisée, Razmjou a révélé qu’un point d’exclamation [!] à la fin d’une commande peut être utiliser pour contourner le sandbox.

Un hacker pourrait donc forcer votre machine Linux à exécuter des commandes arbitraires en vous faisant ouvrir un fichier avec Vim ou Neovim.

Le chercheur a aussi publié deux exploits proof-of-concept, l’un d’entre eux démontre un scénario ou un pirate obtient l’accès au reverse shell du système de la victime dès que celle-ci ouvre le fichier.

Les développeurs de Vim (patch 8.1.1365) et Neovim (publié en v0.3.6) ont partagé des mises à jour pour réparer le problème. Il est donc recommandé de les installer le plus vite possible.

Le chercheur recommande aussi de:

  • désactiver la fonctionnalité modelines,
  • désactiver “modelineexpr” pour empêcher les expressions en modelines,
  • utiliser le plugin “securemodelines,” une alternative sécurisée au modelines de Vim.

Laisser un commentaire