Vulnérabilités exploitées à distance dans le noyau FreeBSD, Vim et Emacs

Une vulnĂ©rabilitĂ© a Ă©tĂ© corrigĂ©e dans FreeBSD (CVE-2026-4747), permettant l'exĂ©cution de code au niveau du noyau par l'envoi de paquets rĂ©seau au serveur NFS. Le problĂšme se manifeste lors de l'utilisation du module kgssapi.ko, implĂ©mentant l'API RPCSEC_GSS cĂŽtĂ© noyau. En plus du noyau, la vulnĂ©rabilitĂ© affecte les applications en espace utilisateur utilisant la bibliothĂšque librpcgss_sec et fonctionnant comme un serveur RPC. De telles applications, qui ne font pas partie du systĂšme de base de FreeBSD, peuvent Ă©galement ĂȘtre attaquĂ©es par l'envoi de paquets rĂ©seau.

Le problÚme réside dans l'implémentation de l'API GSS (Generic Security Services), qui permet d'établir des canaux de communication sécurisés et authentifiés avec serveur. RPCSEC_GSS est utilisé dans les serveurs NFS pour protéger l'accÚs à Sun RPC en utilisant une authentification basée sur Kerberos et un chiffrement du trafic entre le serveur et le client. Le problÚme est causé par le fait que lors de la vérification de la signature, les données du paquet sont copiées dans un tampon fixe sans vérification adéquate de la taille correspondante. L'erreur se manifeste avant l'authentification, mais nécessite la possibilité d'envoyer des paquets réseau au serveur NFS. Un exploit est disponible, permettant de lancer à distance /bin/sh avec les droits root.

La vulnérabilité a été découverte par un employé de l'entreprise Anthropic à l'aide de l'assistant AI Claude. Notamment, des chercheurs externes de l'équipe Calif ont utilisé Claude pour rédiger un exploit fonctionnel, ne fournissant comme information que le rapport général de vulnérabilité publié par FreeBSD. En plus de l'exploitation directe de la vulnérabilité, le modÚle AI a déployé une machine virtuelle avec une configuration vulnérable, configuré le débogage à distance et la lecture des dumps de mémoire du noyau, et a également organisé dans l'exploit le lancement de /bin/sh, aprÚs avoir réussi à exécuter du code au niveau du noyau. La création de l'exploit a pris 4 heures de temps de travail du modÚle Claude.

Les chercheurs ayant créé l'exploit ne se sont pas arrĂȘtĂ©s lĂ  et ont poursuivi leurs expĂ©rimentations en utilisant Claude pour identifier des vulnĂ©rabilitĂ©s dans Vim et Emacs, permettant l'exĂ©cution de leur code lors de l'ouverture de fichiers spĂ©cialement formatĂ©s dans les Ă©diteurs. Fait intĂ©ressant, les prompts adressĂ©s au modĂšle consistaient en une formulation primitive de la tĂąche, telle que « trouvez une vulnĂ©rabilitĂ© 0-day dans Vim qui se produit lors de l'ouverture d'un fichier ». Au final, le modĂšle Claude a rĂ©ussi Ă  dĂ©couvrir des vulnĂ©rabilitĂ©s jusqu'alors inconnues.

La vulnĂ©rabilitĂ© dans Vim (CVE-2026-34714) est causĂ©e par une erreur dans le traitement de l'option tabpanel dans le mode modeline activĂ© par dĂ©faut (« :set modeline »), qui permet de dĂ©finir des options d'Ă©dition dans le fichier traitĂ©. Selon les concepteurs de Vim, via modeline, seul un nombre limitĂ© d'options peut ĂȘtre dĂ©fini, les expressions Ă©tant exĂ©cutĂ©es en mode sandbox, n'autorisant que les opĂ©rations sĂ»res les plus simples.

Le drapeau P_MLE n'Ă©tait pas dĂ©fini pour l'option tabpanel, ce qui permettait d'utiliser l'expression %{expr}, exĂ©cutĂ©e sans activer le mode modelineexpr. Pour contourner l'isolement de la sandbox, une lacune dans la fonction autocmd_add() a Ă©tĂ© exploitĂ©e, car elle manquait de vĂ©rifications de sĂ©curitĂ© appropriĂ©es lors de l'association d'une action Ă  l'Ă©vĂ©nement SafeStateAgain, permettant de lancer une commande aprĂšs la sortie de l'isolement. La vulnĂ©rabilitĂ© a Ă©tĂ© corrigĂ©e dans la version Vim v9.2.0272. Un exemple de ligne qui entraĂźne l'exĂ©cution de l'utilitaire « id » et redirige la sortie vers le fichier « /tmp/calif-vim-rce-poc » : /* vim: set showtabpanel=2 tabpanel=%{%autocmd_add([{‘event’\:’SafeStateAgain’,’pattern’\:’*’,’cmd’\:’!id>/tmp/calif-vim-rce-poc’,’once’\:1}])%}: */

La vulnĂ©rabilitĂ© dans Emacs est causĂ©e par le traitement automatique du contenu du rĂ©pertoire .git/, lorsqu'il est situĂ© dans le mĂȘme rĂ©pertoire que le fichier ouvert. Dans ce cas, Emacs exĂ©cute lors de l'ouverture d'un fichier les commandes « git ls-files » et « git status », exĂ©cutĂ©es dans le contexte du contenu de « .git/ ». Pour exĂ©cuter le code, il suffit d'ouvrir dans Emacs un fichier situĂ© dans un rĂ©pertoire contenant un sous-rĂ©pertoire .git/ avec le fichier de configuration « config », incluant l'option « core.fsmonitor » avec la commande spĂ©cifiĂ©e par l'attaquant Ă  exĂ©cuter. Les responsables de GNU Emacs ont refusĂ© de corriger la vulnĂ©rabilitĂ©, indiquant que le problĂšme relevait de Git.

On peut également noter deux autres vulnérabilités :

  • CVE-2026-33150 — accĂšs Ă  la mĂ©moire aprĂšs sa libĂ©ration dans le gestionnaire io_uring de la bibliothĂšque libfuse, permettant potentiellement d'exĂ©cuter du code lors de l'Ă©puisement des ressources disponibles lors de l'utilisation de systĂšmes de fichiers implĂ©mentĂ©s via FUSE (Filesystem in Userspace).
  • CVE-2026-34743 — dĂ©bordement de tampon dans l'implĂ©mentation de la fonction lzma_index_append() de la bibliothĂšque liblzma. Le problĂšme survient lors de l'utilisation de la fonction lzma_index_decoder() pour dĂ©coder un index ne contenant pas d'enregistrements, ce qui conduit Ă  l'allocation d'un tampon de taille infĂ©rieure Ă  celle requise. Il est Ă  noter que l'API de bas niveau lzma_index* est rarement utilisĂ©e dans les applications et il est peu probable qu'il existe des applications remplissant les conditions nĂ©cessaires Ă  l'exploitation avec l'index. La vulnĂ©rabilitĂ© a Ă©tĂ© corrigĂ©e dans la mise Ă  jour XZ Utils 5.8.3.

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster