Ordinateurs portables Lenovo vulnérables aux bugs autorisant les privilèges d’administrateur

Lenovo laptop

Les ordinateurs portables Lenovo, y compris les modèles ThinkPad et Yoga, sont vulnérables à un bug d’élévation des privilèges dans le service ImControllerService permettant aux attaquants d’exécuter des commandes avec des privilèges d’administrateur.

Les failles sont suivies en tant que CVE-2021-3922 et CVE-2021-3969 et affectent le composant ImControllerService de toutes les versions de Lenovo System Interface Foundation inférieures à 1.1.20.3. Lors de l’affichage de l’écran des services Windows, ce service porte le nom d’affichage « System Interface Foundation Service ».

Le service particulier est un composant de Lenovo System Interface Foundation, qui aide les appareils Lenovo à communiquer avec des applications universelles telles que Lenovo Companion, Lenovo Settings et Lenovo ID. Le service est préinstallé par défaut sur de nombreux modèles Lenovo, y compris les appareils Yoga et ThinkPad.

Service Windows Lenovo IMControllerService
Service Windows Lenovo ImControllerService

« Le service Lenovo System Interface Foundation fournit des interfaces pour des fonctionnalités clés telles que : la gestion de l’alimentation du système, l’optimisation du système, les mises à jour des pilotes et des applications et les paramètres système des applications Lenovo, y compris Lenovo Companion, Lenovo Settings et Lenovo ID », lit-on dans la description de Windows. un service.

« Si vous désactivez ce service, les applications Lenovo ne fonctionneront pas correctement. »

La découverte des vulnérabilités a été le travail de chercheurs de NCC Group, qui ont rapporté leurs découvertes à Lenovo le 29 octobre 2021.

Le fabricant d’ordinateurs a publié les mises à jour de sécurité le 17 novembre 2021, tandis que les consultatif a été publié le 14 décembre 2021.

Composant système vulnérable

Étant donné qu’ImController doit récupérer et installer des fichiers à partir de serveurs Lenovo, exécuter des processus enfants et effectuer des tâches de configuration et de maintenance du système, il s’exécute avec les privilèges SYSTEM.

Les privilèges SYSTEM sont les droits d’utilisateur les plus élevés disponibles dans Windows et permettent à quelqu’un d’exécuter presque n’importe quelle commande sur le système d’exploitation. Essentiellement, si un utilisateur obtient des privilèges SYSTEM dans Windows, il obtient un contrôle total sur le système pour installer des logiciels malveillants, ajouter des utilisateurs ou modifier presque tous les paramètres du système.

Ce service Windows engendrera d’autres processus enfants, qui ouvrent des serveurs de canaux nommés que le service ImController utilisait pour communiquer avec le processus enfant. Lorsque ImController a besoin de l’un de ces services pour exécuter une commande, il se connecte au canal nommé et émet des commandes XML sérialisées qui doivent être exécutées.

Malheureusement, le service ne gère pas les communications entre les processus enfants privilégiés de manière sécurisée et ne parvient pas à valider la source des commandes sérialisées XML. Cela signifie que tout autre processus, même malveillant, peut se connecter au processus enfant pour émettre ses propres commandes.

En tant que tel, un attaquant tirant parti de cette faille de sécurité peut envoyer une instruction pour charger un « plugin » à partir d’un emplacement arbitraire sur le système de fichiers.

« La première vulnérabilité est une condition de concurrence entre un attaquant et le processus parent se connectant au canal nommé du processus enfant », explique NCC Group

« Un attaquant utilisant des routines de synchronisation de système de fichiers hautes performances peut gagner de manière fiable la course avec le processus parent pour se connecter au canal nommé. »

Les chercheurs soulignent que leur code de preuve de concept n’a jamais manqué de se connecter au canal nommé avant que le service parent ne puisse le faire, ce qui signifie que l’exploit est très fiable.

Gagner la course au chargement de code malveillant
Gagner la course au chargement de code malveillant
Source : Groupe CNC

La deuxième faille est une vulnérabilité du temps de vérification au temps d’utilisation (TOCTOU) qui permet à un attaquant de bloquer le processus de chargement d’un plugin ImControllerService validé et de le remplacer par une DLL de son choix.

Une fois le verrou libéré et la procédure de chargement continue, la DLL est exécutée, entraînant une élévation des privilèges.

Chargement d'un plugin malveillant.
Chargement d’un plugin malveillant via ImController
Source : Groupe CNC

La mise à jour est la seule solution

Il est conseillé à tous les utilisateurs Windows exécutant ImController version 1.1.20.2 ou antérieure de mettre à niveau vers la dernière version disponible (1.1.20.3).

Pour déterminer la version que vous exécutez, procédez comme suit :

  • Ouvrez l’explorateur de fichiers et accédez à C:WindowsLenovoImControllerPluginHost.
  • Cliquez avec le bouton droit sur Lenovo.Modern.ImController.PluginHost.exe et sélectionnez Propriétés.
  • Cliquez sur l’onglet Détails.
  • Lisez la version du fichier.

La suppression du composant ImController ou de Lenovo System Interface Foundation de votre appareil n’est pas officiellement recommandée car elle peut affecter certaines fonctions de votre appareil, même si cela n’est pas considéré comme essentiel.