Vulnérabilité dans l'appel système execve, permettant un accès root sous FreeBSD

Une vulnérabilité (CVE-2026-7270) a été identifiée dans FreeBSD, permettant à un utilisateur non privilégié d'exécuter du code avec les privilèges du noyau et d'obtenir un accès root au système. La vulnérabilité concerne toutes les versions de FreeBSD publiées depuis 2013. Un exploit a été rendu public, dont le fonctionnement a été vérifié sur des systèmes allant de FreeBSD 11.0 à 14.4. La vulnérabilité a été corrigée dans les mises à jour FreeBSD 15.0-RELEASE-p7, 14.4-RELEASE-p3, 14.3-RELEASE-p12 et 13.5-RELEASE-p13. Pour les versions plus anciennes, un patch peut être utilisé.

Le problème est causé par un débordement de tampon dans l'appel système execve, qui se produit lors du traitement du préfixe spécifié dans la première ligne des scripts pour déterminer le chemin de l'interpréteur (par exemple, "#!\/bin\/sh"). Le débordement se produit lors de l'appel de la fonction memmove en raison d'une formulation mathématique incorrecte pour calculer la taille des arguments à copier dans le tampon. Au lieu de soustraire les valeurs de "args->endp" et "args->begin_argv" et "consume", seule la valeur de "args->begin_argv" était soustraite de "args->endp", et la variable consume était ajoutée au résultat au lieu d'être soustraite, c'est-à-dire qu'en conséquence, plus de données ont été copiées de deux valeurs "consume". memmove(args->begin_argv + extend, args->begin_argv + consume, — args->endp — args->begin_argv + consume); + args->endp — (args->begin_argv + consume));

Le débordement permet d'écraser les éléments de la structure "exec_map" situés dans une zone mémoire adjacente d'un autre processus. Dans l'exploit, ce débordement est utilisé pour réécrire le contenu de "exec_map" des processus privilégiés régulièrement exécutés sur le système. Comme processus privilégié, sshd a été choisi, qui, à chaque établissement de connexion réseau, crée un processus "\/usr\/libexec\/sshd-session" avec les privilèges root via un appel fork et execve.

L'exploit injecte pour ce processus la variable d'environnement "LD_PRELOAD=\/tmp\/evil.so", ce qui entraîne le chargement de sa bibliothèque dans le contexte de sshd-session. La bibliothèque injectée crée un fichier exécutable en système de fichiers \/tmp\/rootsh avec le flag suid root. La probabilité de réussite du débordement est estimée à 0,6 %, mais grâce à la répétition cyclique des tentatives, une exploitation réussie est atteinte en environ 6 secondes sur un système avec un CPU à 4 cœurs.

Vulnérabilité dans l'appel système execve, permettant un accès root sous FreeBSD

De plus, plusieurs autres vulnérabilités ont été corrigées dans FreeBSD :

  • CVE-2026-35547, CVE-2026-39457 — des débordements de tampon dans la bibliothèque libnv, utilisée dans le noyau et dans les applications du système de base pour gérer les listes au format clé/valeur et organiser le transfert de données lors de l'interaction entre processus. Le premier problème est causé par un calcul incorrect de la taille du message lors du traitement d'en-têtes IPC spécialement formatés. Le second problème conduit à un débordement de pile lors de l'échange de données via un socket en raison de l'absence de vérification de la correspondance entre la taille du descripteur de socket et la taille du tampon utilisé dans la fonction select(). Ces vulnérabilités peuvent potentiellement être exploitées pour élever les privilèges dans le système.
  • CVE-2026-42512 — débordement de tampon exploitable à distance dans dhclient, survenant en raison d'un calcul incorrect de la taille d'un tableau de pointeurs, utilisé pour transmettre des variables d'environnement dans dhclient-script. Il n'est pas exclu qu'un exploit pour l'exécution de code à distance puisse être créé en envoyant un paquet DHCP spécialement formaté.
  • CVE-2026-7164 — débordement de pile dans le filtre de paquets pf, survenant lors du traitement de paquets SCTP spécialement formatés. Ce problème est causé par un parsing récursif illimité des paramètres SCTP.
  • CVE-2026-42511 — possibilité de substitution de directives arbitraires dans dhclient.conf en raison d'un manque de proper échappement des doubles accolades dans les champs BOOTP reçus d'un serveur DHCP externe. Lors du parsing de ce fichier par le processus dhclient, le champ spécifié par l'attaquant est transmis à dhclient-script, ce qui peut être utilisé pour exécuter des commandes arbitraires avec les privilèges root sur les systèmes utilisant dhclient, lors de l'interaction avec un serveur DHCP contrôlé par l'attaquant.
  • CVE-2026-6386 — absence de traitement adéquat des grandes pages mémoire dans la fonction noyau pmap_pkru_update_range(). Un utilisateur non privilégié peut amener pmap_pkru_update_range() à traiter la mémoire de l'espace utilisateur comme une page dans la table des pages mémoire, et réussir à réécrire une zone mémoire à laquelle il n'a pas accès.
  • CVE-2026-5398 — accès à une zone mémoire déjà libérée dans le gestionnaire TIOCNOTTY, permettant à un processus non privilégié d'obtenir des droits root.

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