
CVE-2026-50343 InstallService StaticPluginMap EoP – vom Standardbenutzer zu SYSTEM
Ich habe die Schwachstelle, die nun als CVE-2026-50343 geführt wird, unabhängig entdeckt und gemeldet. MSRC bestätigte meine Einreichung als Duplikat eines früheren Berichts eines anderen Forschers. Ein interaktiver Standardbenutzer kann angreiferkontrollierten Plugin-Status unter HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\InstallService\State schreiben. Der Microsoft-Store-Installationsdienst läuft als NT AUTHORITY\SYSTEM, liest PlugInList und StaticPluginMap und lädt die zugeordnete DLL nach einem öffentlichen Aufruf von AppInstallManager.SearchForAllUpdatesAsync(). Das Ergebnis ist eine Codeausführung von lokalem Standardbenutzer zu SYSTEM.
📹 Interaktives Demo-Video der SYSTEM-Shell
InstallService vertraut Plugin-Namen und DLL-Pfaden aus dem HKLM-Status, den ein interaktiver Standardbenutzer schreiben kann. Ein Benutzer mit niedrigen Rechten erstellt einen neuen Plugin-Namen, verweist damit auf eine angreiferkontrollierte DLL und ruft die WinRT-API zur Installationssteuerung des Stores auf. InstallService lädt diese DLL anschließend innerhalb von C:\Windows\System32\svchost.exe als NT AUTHORITY\SYSTEM.
Das stärkere Repro mit frischer VM in diesem Repository öffnet ein sichtbares SYSTEM-cmd.exe in der aktiven Desktop-Sitzung. Im beigefügten Video startet desktop-ud6iv88\user1 als Standardbenutzer, und die erzeugte Shell meldet:
nt authority\system S-1-5-18
Der angreifbare Zustand befindet sich unter:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\InstallService\State\PlugInList
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\InstallService\State\StaticPluginMap
Auf den getesteten Builds kann ein interaktiver Standardbenutzer die fehlenden Unterschlüssel erstellen oder Werte darunter setzen. InstallService verarbeitet diese Werte später als Plugin-Konfiguration, während er als SYSTEM läuft.
Die zentrale Exploit-Kette:
PlugInList\<fresh plugin name> = 1.StaticPluginMap\<fresh plugin name> = <attacker DLL>.AppInstallManager.SearchForAllUpdatesAsync() auf.InstallService lädt die Angreifer-DLL als SYSTEM.NT AUTHORITY\SYSTEM ausgeführt.Verwenden Sie das stärkere Repro:
interactive-system-shell-repro/
Aus einer PowerShell mit Standardbenutzerrechten:
cd interactive-system-shell-repro
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\Cleanup-InstallServiceInteractiveShell.ps1
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\Run-InstallServiceInteractiveShell.ps1
Wenn sich die SYSTEM-Shell öffnet:
whoami /user
whoami /priv
Jeder Lauf schreibt Nachweise unter:
C:\Users\Public\InstallServiceEopProof\<timestamp>
Die ursprünglichen MSRC-Einreichungsdateien sind weiterhin als Referenz vorhanden:
| Datei | Beschreibung |
|---|---|
exploit.ps1 | Ursprünglicher eigenständiger PoC, der Registry-Status schreibt, InstallService auslöst und SYSTEM-Markierungsdateien verifiziert |
canary.c | Ursprünglicher DLL-Quellcode zum Schreiben von Markierungen |
isp_exploit.dll | Ursprüngliche vorgefertigte DLL zum Schreiben von Markierungen |
Verwendung:
powershell.exe -ExecutionPolicy Bypass -File .\exploit.ps1 -PayloadDll "C:\Users\Public\isp_exploit.dll"
powershell.exe -ExecutionPolicy Bypass -File .\exploit.ps1 -Cleanup
interactive-system-shell-repro/interactive-system-shell-repro/evidence/installservice-staticplugin.mp4exploit.ps1canary.cHaftungsausschluss: Dieser Exploit-Code wird zu Zwecken der Sicherheitsforschung und zu Bildungszwecken bereitgestellt. Verwenden Sie ihn nicht gegen Systeme, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Genehmigung zum Testen haben. Der Autor ist nicht für Missbrauch verantwortlich.
CVE-2026-50343 - unabhängig als Fall 120271 / VULN-192719 bei MSRC gemeldet und als Duplikat einer früheren Forschereinreichung bestätigt.
Daniel Wade - GitHub · Twitter/X · Bluesky · Mastodon · Medium · nadsec.online
| CVE | CVE-2026-50343 |
| MSRC case | 120271 / VULN-192719 |
| MSRC status | Bestätigtes Duplikat eines früheren Forscherberichts |
| Microsoft severity | Wichtig |
| Microsoft CVSS | 7.8 Hoch - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Bug class | Falsche Registry-ACL / privilegiertes DLL-Laden |
| Root cause | Standardbenutzer können InstallService-Plugin-Map-Status erstellen oder schreiben, der von einem SYSTEM-Dienst verarbeitet wird |
| Component | Windows InstallService / Microsoft-Store-Installations- und Update-Broker |
| Trigger | Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallManager.SearchForAllUpdatesAsync() |
| Affected tested build | Windows 11 25H2 Build 26200.8037 |
| Previous tested build | Windows 11 Pro 25H2 Build 26200.8524 |
| Impact | Codeausführung von Standardbenutzer -> NT AUTHORITY\SYSTEM |
| Required | Lokaler Standardbenutzer, interaktive Anmeldung |
| Microsoft CWE | CWE-269: Improper Privilege Management |
| Researcher root-cause classification | CWE-732: Incorrect Permission Assignment for Critical Resource |
| Datum | Ereignis |
|---|
| 2026-06-03 | Ursprünglicher InstallService-Bericht als VULN-192719 bei MSRC eingereicht |
| 2026-06-04 | MSRC-Fall 120271 eröffnet |
| 2026-06-13 | Repro der interaktiven SYSTEM-Shell mit Standardbenutzer auf frischem Windows-11-25H2-Build 26200.8037 aufgezeichnet und zum eingereichten MSRC-Fall hinzugefügt |
| 2026-06-27 | MSRC bestätigte, dass der Bericht ein Duplikat einer früheren Forschereinreichung war |
| 2026-07-14 | Microsoft veröffentlichte CVE-2026-50343 und stellte Sicherheitsupdates bereit |