Dans le plugin NetworkManager-libreswan, qui ajoute des fonctionnalités à NetworkManager pour se connecter à des VPN compatibles avec des serveurs basés sur Libreswan et Cisco IPsec, une vulnérabilité (CVE-2024-9050) a été identifiée, pouvant être exploitée par un utilisateur local pour élever ses privilèges. La vulnérabilité a été corrigée dans la mise à jour NetworkManager-libreswan 1.2.24. Vous pouvez suivre les mises à jour dans les distributions sur les pages suivantes : Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora.
Le problème est causé par une vérification incorrecte de la configuration VPN, déterminée par un utilisateur non privilégié local et transmise directement à Libreswan lors de la tentative d'activation de la connexion. En particulier, le plugin ne vérifiait pas l'utilisation de caractères d'échappement, tels que le retour à la ligne «\n», qui pouvaient être utilisés pour séparer des paramètres spécifiques fournis sur une seule ligne.
Ainsi, l'attaquant pouvait spécifier, dans un des paramètres autorisés, le paramètre « leftupdown », interdit pour les utilisateurs non privilégiés, qui exécute un script avec les droits root lors de l'établissement d'une connexion. Par exemple, pour exécuter le programme /bin/true, on peut attacher les réglages suivants au paramètre autorisé « hostaddrfamily » : hostaddrfamily=ipv4\n leftupdown=/bin/true\n ikev2=never\n leftxauthclient=yes\n leftusername=username\n phase2alg=aes256-sha1\n authby=secret\n left=faultroute\n leftmodecfgclient=yes\n right=172.31.79.2\nconn ign
Une autre vulnérabilité a été identifiée dans le processus en arrière-plan guix-daemon, utilisé dans les distributions basées sur le gestionnaire de paquets GNU Guix. Cette vulnérabilité représente un danger pour les systèmes multi-utilisateurs et permet à un utilisateur local d'obtenir les privilèges de tout utilisateur effectuant une construction de paquets (build user) et de modifier le résultat de la construction. L'essence de la vulnérabilité réside dans le fait qu'un attaquant peut lancer une construction dérivée et si le processus de construction est interrompu, les fichiers suid déjà créés resteront accessibles aux autres utilisateurs du système. Après cela, l'attaquant peut utiliser le fichier suid créé pour suspendre le processus de construction, ouvrir n'importe quel fichier via /proc/$PID/fd avec les droits de l'utilisateur de construction en cours et écraser des fichiers avec les résultats de la construction).
Source : opennet.ru
