
CVE-2026-50343 InstallService StaticPluginMap EoP - usuario estándar a SYSTEM
Descubrí e informé de forma independiente la vulnerabilidad ahora registrada como
CVE-2026-50343. MSRC confirmó mi envío como un duplicado de un informe anterior
de otro investigador. Un usuario interactivo estándar puede escribir estado de
complementos controlado por el atacante en
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\InstallService\State. El
Servicio de instalación de Microsoft Store se ejecuta como NT AUTHORITY\SYSTEM,
lee PlugInList y StaticPluginMap, y carga la DLL mapeada después de un
desencadenante público AppInstallManager.SearchForAllUpdatesAsync(). El
resultado es la ejecución de código de usuario estándar local a SYSTEM.
📹 Vídeo de demostración de shell SYSTEM interactiva
InstallService confía en nombres de complementos y rutas de DLL del estado de HKLM que
un usuario interactivo estándar puede escribir. Un usuario con pocos privilegios crea un
nombre de complemento nuevo, lo apunta a una DLL controlada por el atacante y llama a la
API WinRT de control de instalación de Store. InstallService carga entonces esa DLL dentro de
C:\Windows\System32\svchost.exe como NT AUTHORITY\SYSTEM.
La reproducción más sólida en VM limpia de este repositorio abre un cmd.exe de SYSTEM visible en la
sesión de escritorio activa. En el vídeo adjunto, desktop-ud6iv88\user1 comienza como
usuario estándar y el shell generado informa:
nt authority\system S-1-5-18
El estado vulnerable se encuentra en:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\InstallService\State\PlugInList
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\InstallService\State\StaticPluginMap
En las compilaciones probadas, un usuario interactivo estándar puede crear las subclaves faltantes o
establecer valores debajo de ellas. InstallService consume posteriormente esos valores como configuración
de complementos mientras se ejecuta como SYSTEM.
La cadena de explotación principal:
PlugInList\<nombre de complemento nuevo> = 1.StaticPluginMap\<nombre de complemento nuevo> = <DLL del atacante>.AppInstallManager.SearchForAllUpdatesAsync().InstallService carga la DLL del atacante como SYSTEM.NT AUTHORITY\SYSTEM.Use la reproducción más sólida:
interactive-system-shell-repro/
Desde PowerShell de usuario estándar:
cd interactive-system-shell-repro
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\Cleanup-InstallServiceInteractiveShell.ps1
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\Run-InstallServiceInteractiveShell.ps1
Cuando se abra el shell SYSTEM:
whoami /user
whoami /priv
Cada ejecución escribe evidencia en:
C:\Users\Public\InstallServiceEopProof\<timestamp>
Los archivos originales de la presentación a MSRC siguen presentes como referencia:
| Archivo | Descripción |
|---|---|
exploit.ps1 | PoC autónomo original que escribe el estado del registro, desencadena InstallService y verifica los archivos marcadores de SYSTEM |
canary.c | Código fuente original de la DLL de escritura de marcadores |
isp_exploit.dll | DLL original precompilada de escritura de marcadores |
Uso:
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.cAviso legal: Este código de exploit se proporciona con fines de investigación de seguridad y educativos. No lo use contra sistemas que no le pertenezcan o para los que no tenga autorización explícita de pruebas. El autor no es responsable del uso indebido.
CVE-2026-50343 - informado de forma independiente a MSRC como caso 120271 / VULN-192719 y confirmado como duplicado de un envío anterior de otro investigador.
Daniel Wade - GitHub · Twitter/X · Bluesky · Mastodon · Medium · nadsec.online
| CVE | CVE-2026-50343 |
| Caso MSRC | 120271 / VULN-192719 |
| Estado MSRC | Confirmado como duplicado de un informe anterior de otro investigador |
| Severidad Microsoft | Importante |
| CVSS Microsoft | 7.8 Alta - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Clase de bug | ACL de registro incorrecta / carga privilegiada de DLL |
| Causa raíz | Los usuarios estándar pueden crear o escribir el estado del mapa de complementos de InstallService consumido por un servicio SYSTEM |
| Componente | Windows InstallService / agente de instalación y actualización de Microsoft Store |
| Desencadenante | Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallManager.SearchForAllUpdatesAsync() |
| Compilación afectada probada | Windows 11 25H2 compilación 26200.8037 |
| Compilación anterior probada | Windows 11 Pro 25H2 compilación 26200.8524 |
| Impacto | Usuario estándar -> ejecución de código NT AUTHORITY\SYSTEM |
| Requisito | Usuario estándar local, inicio de sesión interactivo |
| CWE Microsoft | CWE-269: Gestión inadecuada de privilegios |
| Clasificación de causa raíz por el investigador | CWE-732: Asignación incorrecta de permisos para un recurso crítico |
| Fecha | Evento |
|---|
| 2026-06-03 | Informe original de InstallService enviado a MSRC como VULN-192719 |
| 2026-06-04 | Caso MSRC 120271 abierto |
| 2026-06-13 | Se grabó y añadió al caso MSRC la reproducción de shell SYSTEM interactiva de usuario estándar en una compilación limpia de Windows 11 25H2 26200.8037 |
| 2026-06-27 | MSRC confirmó que el informe era un duplicado de un envío anterior de otro investigador |
| 2026-07-14 | Microsoft publicó CVE-2026-50343 y lanzó actualizaciones de seguridad |