
public disclosure
Application concernée : MindManager23_setup.exe
Plateforme : Windows
Problème : Élévation de privilèges locale via le mode Réparation de l'installateur MSI (condition de course par détournement d'EXE)
Découvert et signalé par : Pawel Karwowski et Julian Horoszkiewicz (Eviden Red Team)
Atténuation proposée : https://learn.microsoft.com/en-us/windows/win32/msi/disablemsi
Justification de la divulgation publique : Garder cela indéfiniment ne profite, à terme, qu'aux acteurs malveillants (le problème est trivial à trouver), tout en laissant les utilisateurs et les administrateurs dans l'ignorance, sans connaissance du risque.
Quelle est la position de l'éditeur ? Selon l'éditeur, cela ne relève pas de sa responsabilité, car la vulnérabilité se situe dans un composant tiers (CVE-2021-41526). Cela ne signifie toutefois pas que son logiciel n'est pas vulnérable. Nous avons initialement signalé ce problème à l'éditeur le 22.08.2023. Depuis, nous n'avons pas réussi à le convaincre de publier un correctif, même en impliquant le CERT américain dans les efforts de coordination. Après une longue période d'échanges de messages, nous avons convenu avec le CERT que, dans cette situation, la divulgation publique était la bonne marche à suivre.
Quelle est la vulnérabilité ? Sur les systèmes où MindManager23 est installé, il est possible pour des utilisateurs ordinaires de déclencher l'installateur en mode « réparation », en exécutant la commande suivante : msiexec.exe /fa PATH_TO_INSTALLER_FILE.msi
Cela déclenche le service msiexec, qui exécute le processus de réparation, lançant plusieurs actions et, entre autres, crée des fichiers dans le répertoire C:\Users\pk\AppData\Local\Temp, dont les noms sont générés dynamiquement, selon le modèle suivant : « wac<quatre lettres ou chiffres aléatoires>.tmp », par exemple, wac98DF.tmp. Le processus utilise ensuite le fichier exécutable wac****.tmp généré, qui s'exécute en tant que NT AUTHORITY/SYSTEM, pour écrire dans et charger une image de lui-même.
Étant donné que le répertoire C:\Users\pk\AppData\Local\ appartient à l'utilisateur ordinaire, le répertoire C:\Users\pk\AppData\Local\Temp\ hérite des autorisations, ce qui permet à l'utilisateur ordinaire d'interférer avec le contenu du répertoire, par exemple en écrasant les fichiers DLL\EXE générés dynamiquement.
L'élévation de privilèges dans l'installateur Mind Manager est causée par son utilisation d'un composant connu vulnérable - Flexera Installshield, affecté par CVE-2021-41526. Mind Manager devrait utiliser une version à jour de Flexera Installshield - ou reconditionner le MSI afin qu'il ne prenne pas en charge le « mode réparation », ou qu'il nécessite des privilèges administratifs pour être exécuté.
Quel est le processus d'exploitation ? L'exploitation est réalisée à l'aide d'un script PowerShell qui exécute le fichier .MSI, vérifie la présence et la création de notre DLL\EXE légitime d'intérêt, puis copie de manière répétée la DLL\EXE de preuve de concept dans le répertoire Appdata\Local\Temp, écrasant ainsi la DLL\EXE légitime. Après son exécution, la DLL\EXE de preuve de concept crée un fichier poc.txt dans C:\Users\Public, avec la ligne de commande qui l'a appelée et la sortie de whoami.