Vim - CVE-2026-34714

Date de publication :

Il s'agit d'une vulnérabilité dans le traitement des modelines de Vim.

Vim est un éditeur de texte en ligne de commande, présent par défaut sur la quasi-totalité des systèmes Unix et Linux. Il est utilisé par les administrateurs système, les développeurs et les équipes DevOps pour l'édition de fichiers de configuration et de code.

L'option tabpanel accepte les expressions expr comme statusline et tabline, mais ne dispose pas du flag P_MLE qui conditionne leur usage en modeline à l'activation de modelineexpr. La vérification de sécurité dans src/option.c n'est donc jamais atteinte. Vim évalue bien l'expression dans un sandbox, mais la fonction autocmd_add() ne contient pas d'appel à check_secure(), contrairement à la commande ex :autocmd. Un code sandboxé peut ainsi enregistrer un autocommand post-sandbox qui s'exécute après la sortie du bac à sable.

Elle permet à un attaquant de faire exécuter des commandes OS arbitraires avec les droits de l'utilisateur dès l'ouverture d'un fichier piégé.

Informations

La faille est activement exploitée : Non

Un correctif existe : Oui

Une mesure de contournement existe : Oui

Risques

Exécution de code arbitraire (à distance)

Exploitation

La vulnérabilité exploitée est du type
CWE-78 : Improper Neutralization of Special Elements used in an OS Command (OS Command Injection)

Détails sur l'exploitation
•   Vecteur d'attaque : Local
•   Complexité de l'attaque : Faible
•   Privilèges nécessaires pour réaliser l'attaque : Aucun
•   Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
•   L'exploitation de la faille permet d'obtenir des droits privilégiés : Non

Preuve de concept
Actuellement, aucune preuve de concept n'est disponible en sources ouvertes.

Systèmes ou composants affectés

Vim versions antérieures à 9.2.0272

Contournement provisoire

Désactiver les modelines dans la configuration Vim via set nomodeline dans le fichier .vimrc.

Solutions ou recommandations

Vim version 9.2.0272 et supérieures