
CVE-2026-50343 InstallService StaticPluginMap EoP - da utente standard a SYSTEM
Ho scoperto e segnalato in modo indipendente la vulnerabilità ora tracciata come
CVE-2026-50343. MSRC ha confermato la mia segnalazione come duplicato di una
segnalazione precedente di un altro ricercatore. Un utente interattivo standard può
scrivere lo stato dei plugin controllato dall'attaccante sotto
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\InstallService\State. Il
servizio Microsoft Store Install Service viene eseguito come NT AUTHORITY\SYSTEM, legge
PlugInList e StaticPluginMap e carica la DLL mappata dopo un trigger pubblico di
AppInstallManager.SearchForAllUpdatesAsync(). Il risultato è l'esecuzione
di codice da utente standard locale a SYSTEM.
📹 Video demo della shell SYSTEM interattiva
InstallService si fida dei nomi dei plugin e dei percorsi DLL dallo stato HKLM che un
utente interattivo standard può scrivere. Un utente a bassi privilegi crea un nuovo
nome di plugin, lo punta a una DLL controllata dall'attaccante e chiama l'API
WinRT di controllo dell'installazione dello Store. InstallService carica quindi quella DLL
all'interno di C:\Windows\System32\svchost.exe come NT AUTHORITY\SYSTEM.
La riproduzione più robusta su VM appena creata in questo repository apre una cmd.exe SYSTEM
visibile nella sessione desktop attiva. Nel video allegato, desktop-ud6iv88\user1 parte come
utente standard e la shell generata riporta:
nt authority\system S-1-5-18
Lo stato vulnerabile si trova sotto:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\InstallService\State\PlugInList
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\InstallService\State\StaticPluginMap
Sulle build testate, un utente interattivo standard può creare le sottochiavi mancanti o
impostare valori al loro interno. InstallService consuma successivamente quei valori come
configurazione dei plugin mentre viene eseguito come SYSTEM.
La catena di exploit principale:
PlugInList\<fresh plugin name> = 1.StaticPluginMap\<fresh plugin name> = <attacker DLL>.AppInstallManager.SearchForAllUpdatesAsync().InstallService carica la DLL dell'attaccante come SYSTEM.NT AUTHORITY\SYSTEM.Usa la riproduzione più robusta:
interactive-system-shell-repro/
Da una PowerShell con utente standard:
cd interactive-system-shell-repro
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\Cleanup-InstallServiceInteractiveShell.ps1
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\Run-InstallServiceInteractiveShell.ps1
Quando si apre la shell SYSTEM:
whoami /user
whoami /priv
Ogni esecuzione scrive le prove sotto:
C:\Users\Public\InstallServiceEopProof\<timestamp>
I file della segnalazione originale a MSRC sono ancora presenti come riferimento:
| File | Descrizione |
|---|---|
exploit.ps1 | PoC autonomo originale che scrive lo stato del registro, attiva InstallService e verifica i file marcatore SYSTEM |
canary.c | Sorgente originale della DLL per la scrittura del marcatore |
isp_exploit.dll | DLL precompilata originale per la scrittura del marcatore |
Utilizzo:
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.cDisclaimer: Questo codice di exploit è fornito per scopi di ricerca sulla sicurezza e didattici. Non utilizzarlo contro sistemi che non possiedi o per cui non hai un'autorizzazione esplicita ai test. L'autore non è responsabile dell'uso improprio.
CVE-2026-50343 - segnalata in modo indipendente a MSRC come caso 120271 / VULN-192719 e confermata come duplicato di una segnalazione precedente di un ricercatore.
Daniel Wade - GitHub · Twitter/X · Bluesky · Mastodon · Medium · nadsec.online
| CVE | CVE-2026-50343 |
| Caso MSRC | 120271 / VULN-192719 |
| Stato MSRC | Confermato come duplicato di una segnalazione precedente di un ricercatore |
| Severità Microsoft | Importante |
| CVSS Microsoft | 7.8 Alto - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Classe di bug | ACL di registro non corretti / caricamento di DLL con privilegi |
| Causa principale | Gli utenti standard possono creare o scrivere lo stato della mappa dei plugin di InstallService consumato da un servizio SYSTEM |
| Componente | Windows InstallService / broker di installazione e aggiornamento di Microsoft Store |
| Trigger | Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallManager.SearchForAllUpdatesAsync() |
| Build testata interessata | Windows 11 25H2 build 26200.8037 |
| Build testata precedente | Windows 11 Pro 25H2 build 26200.8524 |
| Impatto | Esecuzione di codice da utente standard a NT AUTHORITY\SYSTEM |
| Richiesto | Utente standard locale, accesso interattivo |
| CWE Microsoft | CWE-269: Gestione impropria dei privilegi |
| Classificazione della causa principale del ricercatore | CWE-732: Assegnazione non corretta dei permessi per risorse critiche |
| Data | Evento |
|---|
| 2026-06-03 | Segnalazione originale di InstallService inviata a MSRC come VULN-192719 |
| 2026-06-04 | Aperto il caso MSRC 120271 |
| 2026-06-13 | Registrata la riproduzione di shell SYSTEM interattiva da utente standard su una nuova build Windows 11 25H2 26200.8037 e aggiunta al caso MSRC inviato |
| 2026-06-27 | MSRC ha confermato che la segnalazione era un duplicato di una segnalazione precedente di un ricercatore |
| 2026-07-14 | Microsoft ha pubblicato CVE-2026-50343 e ha rilasciato gli aggiornamenti di sicurezza |