
pequeno artigo sobre o bug EnterpriseModernAppManager::ProvisionApplication
Esta é apenas uma pequena descrição com a teoria, já que este bug foi colidido e nunca cheguei a testá-lo adequadamente.
EnterpriseAppMgmtSvc é um serviço interessante que implementa objetos COM. Parece datar do Windows Phone e, de fato, a maioria das interfaces COM implementadas por esta função é código morto que só funciona no Windows Phone - obrigado OneCore!
A única coclasse que parece funcionar por padrão em sistemas não-WCOS é EnterpriseModernAppManager. A MS originalmente tinha uma verificação de permissão (deve ser administrador) em EnterpriseModernAppManager::InstallApplication(), mas se esqueceu de adicionar verificações de permissão nos outros métodos desta coclasse.
(Naturalmente, o patch para CVE-2022-35841 adiciona as verificações de permissão para os outros métodos em EnterpriseModernAppManager.)
O método interessante aqui é EnterpriseAppMgmtSvc::ProvisionApplication, que prepara (instala parcialmente?) pacotes APPX a partir de uma configuração de string XML passada.
Um pacote APPX arbitrário, através de algumas capacidades restritas, pode ser configurado para instalar um serviço NT executando como SYSTEM, via a extensão desktop6:Service, e as capacidades restritas packagedServices e localSystemServices.
Isto é o que consegui. Naturalmente, não esperava uma colisão e um patch hoje, então nunca testei isso na prática e, portanto, não sei que tipo de assinatura o APPX exigiria.