Packages MSI et élévation de privilèges locale en 2025
Cet été 2025, Microsoft a finalisé une mise à jour de sécurité contre un chemin d’élévation de privilèges bien connu dans l’écosystème Windows : l’exécution silencieuse et privilégiée de la réparation de packages .msi.
En effet, un éditeur de logiciel peut définir dans son package MSI des actions variées (“Custom Actions”) pour aider à la réparation du logiciel, et celles-ci sont parfois lancées de manière privilégiée même lorsque l’utilisateur ayant cliqué sur le package n’est pas privilégié lui-même. Si l’éditeur du package MSI ne fait pas attention aux actions personnalisées qu’il a définies, il peut être aisé de les exploiter lorsqu’elles appellent une invite de commande ou un binaire qui peut être modifié par un utilisateur standard, par exemple.
Microsoft a résolu ce problème en s’assurant principalement qu’une pop-up UAC demandant des identifiants d’administrateur soit lancée systématiquement lors de la réparation d’un package MSI.
La faille réside désormais dans la configuration
Cependant, comme souvent, la compatibilité logicielle a ses exigences. Pour permettre à certaines applications de continuer à fonctionner, Microsoft a introduit une nouvelle clé de registre (SecureRepairWhitelist). Si un package MSI y est listé, il revient alors à l’ancien comportement vulnérable (exécution en SYSTEM sans prompt UAC).
L’élévation de privilèges n’est plus uniquement une question d’installateur vulnérable confectionné par les éditeurs, mais également de configuration locale.
Comment se protéger ?
Outre l’application des mises à jour récentes de Microsoft, nous vous recommandons d’ajouter uniquement en liste blanche des packages MSI de confiance, ou qui auront été audités pour s’assurer de l’absence d’actions personnalisées dangereuses.
Notre outil d’audit
Un de nos auditeurs a développé un script PowerShell simple pour aider à identifier un système à jour mais vulnérable car autorisant des packages MSI dangereux. L’outil est également utilisable sur des systèmes plus anciens, en oubliant la notion de liste blanche qui n’y aura pas encore été introduite.
Lien Github : [garatc/MSIAudit: Auditing tool for MSI packages whitelisted through the SecureRepairWhitelist reg key](https://github.com/garatc/MSIAudit)
