Microsoft a découvert plusieurs vulnérabilités affectant les ordinateurs de bureau Linux. les vulnérabilités, collectivement surnommés Nimbuspwn, peuvent être enchaînés pour obtenir une élévation de privilèges et ensuite exécuter divers charges utiles malveillants, comme une porte dérobée racine, via l'exécution de code racine arbitraire à distance. Identifié comme CVE-2022-29799 et CVE-2022-29800, les failles pourraient potentiellement être utilisées comme vecteur d'accès root dans plus attaques sophistiquées, y compris les logiciels malveillants et les rançongiciels.
Comment Microsoft a-t-il découvert les exploits Nimbuspwn?
Microsoft a découvert les vulnérabilités en écoutant les messages sur le bus système tout en examinant le code et en effectuant une analyse dynamique sur les services qui s'exécutent en tant que root. C'est ainsi que les chercheurs ont remarqué "un modèle étrange dans une unité systemd appelée networkd-dispatcher". Après avoir examiné attentivement le code, plusieurs problèmes de sécurité ont été découverts, y compris la traversée de répertoire, course de liens symboliques, et les problèmes de conditions de concurrence entre l'heure de vérification et l'heure d'utilisation. La découverte a été partagée "avec les responsables concernés par le biais de la divulgation coordonnée des vulnérabilités (CVD) via Microsoft Security Vulnerability Research (MSVR).” Les correctifs sont maintenant disponibles, merci au mainteneur de l'unité networkd-displatcher, Artisanat Clayton.
Vulnérabilités CVE-2022-29799 et CVE-2022-29800
Le chercheur de Microsoft, Jonathan Bar Or, a examiné le code source de networkd-dispatcher et a remarqué qu'un composant, connu sous le nom de "_run_hooks_for_state" implémente une logique spécifique qui laisse les systèmes Linux ouverts à la vulnérabilité de traversée de répertoire, ou CVE-2022-29799. Il s'est avéré que le composant "_run_hooks_for_state" n'utilisait pas de fonctions qui nettoient de manière adéquate les états utilisés pour construire le bon chemin de script. Par conséquent, les acteurs de la menace peuvent tirer parti de la faiblesse pour sortir du répertoire de base "/etc/networkd-dispatcher".
Cependant, run-hooks_for_state contient une deuxième vulnérabilité, connue sous le nom de CVE-2022-29800, ce qui laisse les systèmes Linux vulnérables à la condition de concurrence TOCTOU. Cela est possible en raison d'un certain temps entre la découverte des scripts et l'exécution des scripts. Les pirates peuvent tirer parti de CVE-2022-29800 pour remplacer les scripts que networkd-dispatcher pense appartenir à root par des scripts malveillants.
Les pirates peuvent enchaîner les deux vulnérabilités pour obtenir un accès root complet. Plus de détails techniques sont disponibles dans Le rapport de Microsoft.