Une vulnérabilité dans Vim a permis l'exécution de code lors de l'ouverture d'un TXT

Vim

Une nouvelle vulnérabilité a été corrigée dans les éditeurs de texte préinstallés sur diverses distributions Linux a été trouvé dans les éditeurs de texte Vim et Neovim (CVE-2019-12735).

Le bug trouvé dans ces éditeurs permet aux pirates de contrôler les ordinateurs lorsque les utilisateurs ouvrent un fichier texte malveillant. Le problème se manifeste avec l'activité modeline activée par défaut (": set modeline"), qui permet de définir les options d'édition dans le fichier en cours de traitement.

Vim et sa fourche NeoVim contenaient un défaut qui résidait dans les modelines. Cette fonctionnalité permet aux utilisateurs de spécifier les dimensions de la fenêtre et d'autres options personnalisées près du début ou de la fin d'un fichier texte.

Cette fonctionnalité est activée par défaut dans les versions antérieures à Vim 8.1.1365 Neovim 0.3.6 et s'applique à tous les types de fichiers, y compris les fichiers .txt.

À propos de la vulnérabilité dans Vim

Grâce à Modeline, seul un nombre limité d'options est autorisé. SSi une expression est spécifiée comme valeur d'option, elle s'exécute en mode bac à sable, ce qui permet uniquement d'utiliser les opérations sécurisées les plus simples.

En même temps, la commande ": source" est l'une de celles autorisées, dans lesquelles vous pouvez utiliser le modificateur "!" pour exécuter des commandes arbitraires à partir du fichier spécifié.

Par conséquent, pour exécuter le code, il suffit d'indiquer dans la ligne modeline une construction de la forme "set foldexpr = execute ('\: source! Some_file'):". Dans Neovim, l'appel d'exécution est interdit, mais assert_fails peut être utilisé à la place.

En revanche, dans le bac à sable, il est conçu pour éviter les effets secondaires:

Les options «foldexpr», «formatexpr», «includeexpr», «indentexpr», «statusline» et «foldtext» peuvent toutes être évaluées dans un bac à sable. Cela signifie que vous êtes protégé contre ces expressions aux effets secondaires désagréables. Cela offre une certaine sécurité lorsque ces options sont définies à partir d'un modèle.

Alors que les modèles limitent les commandes disponibles et les exécutent dans un environnement isolé du système d'exploitation, le chercheur Armin Razmjou a noté que la commande: font! contourné cette protection:

"Elle lit et exécute les commandes dans un fichier donné comme si elles étaient entrées manuellement, les exécutant une fois que le bac à sable a été laissé", a écrit le chercheur dans un message publié plus tôt ce mois-ci. -ci.

Ainsi, on peut construire de manière triviale une ligne de modèle qui exécute le code en dehors du bac à sable.

La publication comprend deux fichiers texte de preuve de principe, dont l'un illustre graphiquement la menace.

L'un d'eux ouvre un shell inversé sur l'ordinateur exécutant Vim ou NeoVim. De là, les attaquants pouvaient lancer les commandes de leur choix sur la machine réquisitionnée.

"Ce PoC décrit une véritable approche d'attaque dans laquelle un shell inversé est lancé lorsque l'utilisateur ouvre le fichier", a écrit Razmjou. «Pour masquer l'attaque, le fichier sera immédiatement réécrit lors de son ouverture. En outre, PoC utilise des séquences d'échappement de terminal pour masquer la ligne de modèle lorsque le contenu est imprimé avec cat. (cat -v révèle le contenu réel). «

La vulnérabilité d'exécution des commandes nécessite l'activation de la fonctionnalité de modélisation standard, comme dans certaines distributions Linux par défaut. Le défaut se trouve 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 du National Institute of Standards and Technology montre que les distributions Debian et Fedora Linux ont commencé à publier des versions corrigées.

Dans les distributions, le problème est résolu en RHEL, SUSE / openSUSE, Fedora, FreeBSD, Ubuntu, Arch Linux et ALT.

La vulnérabilité reste non corrigée dans Debian (Dans Debian modeline, il est désactivé par défaut, donc la vulnérabilité ne se manifeste pas dans l'état par défaut).

La dernière version de MacOS 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 dans lequel la fonction de modelines est activée.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.