Who’s on the Line? Exploiting RCE in Windows Telephony Service
Mis à jour :
Exploitation de la vulnérabilité du Service de Téléphonie Windows pour l’exécution de code à distance
Une faille de sécurité a été découverte dans le mode serveur du Service de Téléphonie de Windows, permettant à un utilisateur avec des privilèges limités d’écrire des données arbitraires dans des fichiers accessibles par le service. Dans certaines conditions, cela peut mener à une exécution de code à distance (RCE). Cette vulnérabilité affecte les systèmes où le Service de Téléphonie est configuré en mode serveur, une configuration moins courante utilisée pour les infrastructures de téléphonie centralisées.
Le Service de Téléphonie (TapiSrv) implémente la fonctionnalité de la Telephony Application Programming Interface (TAPI). La communication se fait via l’interface RPC tapsrv. Par défaut, cette interface est locale, mais peut être activée pour des connexions distantes, notamment sur les systèmes Windows Server.
La vulnérabilité découle de l’utilisation du mécanisme de notifications d’événements asynchrones en mode “pull” qui repose sur les mailsots. Le service, lors de la connexion d’un client, utilise la fonction CreateFileW avec un chemin fourni par l’utilisateur pour créer un handle. Il est possible de fournir un chemin de fichier arbitraire au lieu d’un nom de mailsot valide. Le service, s’exécutant sous le compte NETWORK SERVICE, écrira alors des données à 4 octets (la valeur InitContext de l’application de ligne) dans ce fichier.
Un attaquant peut ensuite utiliser cette capacité d’écriture de fichiers pour modifier des fichiers critiques. Un exemple concret est la modification du fichier C:\Windows\TAPI sec.ini afin d’ajouter un utilisateur à la liste des administrateurs du service de téléphonie.
Une fois les privilèges d’administrateur obtenus au sein du service de téléphonie, l’attaquant peut exploiter la requête GetUIDllName pour charger une DLL arbitraire. En spécifiant un chemin vers une DLL malveillante (contrôlée par l’attaquant, soit via un partage réseau, soit en la déposant localement grâce à la primitive d’écriture de fichier), le service chargera cette DLL et exécutera la fonction exportée TSPI_providerUIIdentify. Cette fonction peut être conçue pour exécuter des commandes arbitraires, menant à une exécution de code à distance avec les privilèges du compte NETWORK SERVICE.
Points Clés :
- Composant vulnérable : Service de Téléphonie Windows (TapiSrv) en mode serveur.
- Mécanisme d’exploitation : Redirection des notifications d’événements asynchrones (mailsots) vers des fichiers arbitraires.
- Privilèges requis : Accès réseau au service de téléphonie (si activé pour le mode serveur) ou privilèges locaux faibles pour déclencher l’écriture de fichier.
- Impact : Écriture de fichier arbitraire sous le contexte
NETWORK SERVICE, escalade de privilèges au sein du service de téléphonie, et exécution de code à distance.
Vulnérabilités :
- CVE-2026-20931 : Permet l’écriture de fichier arbitraire via le mécanisme de mailsots du Service de Téléphonie.
- Escalade de privilèges et RCE : Exploitation de la vulnérabilité CVE-2026-20931 pour obtenir des privilèges administratifs sur le service de téléphonie et charger une DLL arbitraire via
GetUIDllName.
Recommandations :
- Appliquer les mises à jour de sécurité : Installer les correctifs de sécurité de janvier 2026, notamment ceux liés à CVE-2026-20931.
- Désactiver le mode serveur TAPI si non nécessaire : Le mode serveur TAPI est une configuration spécialisée. Si elle n’est pas utilisée, la désactiver réduit la surface d’attaque.
- Surveiller les modifications des fichiers de configuration TAPI : Les modifications suspectes dans
C:\Windows\TAPI sec.inipeuvent indiquer une tentative d’exploitation. - Filtrer le trafic RPC : Bien que le mode serveur TAPI soit moins courant, restreindre l’accès à l’interface
tapsrvpeut limiter les vecteurs d’attaque.
