🔍 Contexte
Publié en septembre 2026 sur GitHub par le chercheur KillaBoi (Jaydip Modhwadia), ce dépôt public présente un proof-of-concept (PoC) d’élévation de privilèges locale (LPE) affectant le Steam Client Service de Valve. La vulnérabilité aurait été signalée à Valve en mars 2026, sans correctif publié à ce jour.
🎯 Vulnérabilité
La faille réside dans le fait que steamservice.exe, qui s’exécute en permanence avec les privilèges NT AUTHORITY\SYSTEM, accepte une racine d’installation contrôlée par l’appelant non couverte par la signature d’un VDF Valve légitime. Ce gap de couverture de signature permet à un utilisateur standard de faire exécuter un lanceur arbitraire par le service privilégié.
Pipeline d’exploitation :
- Établissement d’une connexion IPC au Steam Client Service (sans droits admin)
- Appel à
IClientInstallUtils::AddInstallScriptToWhiteListavec un VDF Valve signé mais une racine d’installation contrôlée par l’attaquant - Le lanceur relocalisé est mis en liste blanche
- Appel à
IClientInstallUtils::RunInstallScript→ le service exécute le lanceur comme SYSTEM - Obtention d’un shell interactif
NT AUTHORITY\SYSTEM(SID S-1-5-18)
🛠️ Détails techniques
- Versions affectées : Steam 10.96.30.42, Windows 10 et Windows 11 x64 (dernières versions)
- Langages du PoC : C++ (55.1%), PowerShell (44.1%), C (0.8%)
- Artefacts produits : shell
cmd.exeSYSTEM, receipts JSON dansC:\Users\Public\BrokenPipe - Pas de persistance créée, processus placé dans un job Windows kill-on-close
- Aucun argument en ligne de commande requis, payload ZIP embarqué dans l’exécutable
📦 Fichiers clés
BrokenPipe.exe(binaire compilé)BrokenPipe.cpp(code source principal)BrokenPipe-Bootstrap.ps1(script PowerShell)payload/BrokenPipePayload.zip(payload embarqué)build.ps1(script de build)
📌 Type d’article
Il s’agit d’une publication de recherche / divulgation publique de PoC visant à démontrer une vulnérabilité LPE non corrigée dans le client Steam de Valve, avec code source complet et instructions de build.
🧠 TTPs et IOCs détectés
TTP
- T1068 — Exploitation for Privilege Escalation (Privilege Escalation)
- T1574 — Hijack Execution Flow (Privilege Escalation)
- T1059.001 — Command and Scripting Interpreter: PowerShell (Execution)
- T1106 — Native API (Execution)
IOC
- Fichiers :
BrokenPipe.exe - Fichiers :
BrokenPipePayload.zip - Fichiers :
BrokenPipe-Bootstrap.ps1 - Fichiers :
BrokenPipe.cpp - Fichiers :
build.ps1 - Chemins :
C:\Users\Public\BrokenPipe - Chemins :
x64\Release\BrokenPipe.exe - Chemins :
payload\BrokenPipePayload.zip
⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 17 septembre 2026 et n’ont pas fait l’objet d’une vérification externe. Un indicateur peut avoir été réattribué depuis : une IP de C2 peut redevenir un service légitime, un domaine sinkholé peut changer de propriétaire. Aucune garantie d’exactitude ni d’actualité — contrôlez leur validité avant tout usage opérationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.
Malware / Outils
- BrokenPipe (tool)
🟡 Indice de vérification factuelle : 50/100 (moyenne)
- ⬜ github.com — source non référencée (0pts)
- ✅ 6212 chars — texte complet (fulltext extrait) (15pts)
- ✅ 8 IOCs (IPs/domaines/CVEs) (10pts)
- ⬜ pas d’IOC vérifié (0pts)
- ✅ 4 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ⬜ aucun acteur de menace nommé (0pts)
- ⬜ pas de CVE à vérifier (0pts)
🔗 Source originale : https://github.com/KillaBoi/BrokenPipe#brokenpipe—steam-client-service-lpe-vulnerability