
public disclosure
Applicazione interessata: MindManager23_setup.exe
Piattaforma: Windows
Problema: Escalation dei privilegi locale tramite la modalità Riparazione dell'installer MSI (condizione di race condition con hijacking dell'EXE)
Scoperto e segnalato da: Pawel Karwowski e Julian Horoszkiewicz (Eviden Red Team)
Mitigazione proposta: https://learn.microsoft.com/en-us/windows/win32/msi/disablemsi
Motivazione della divulgazione pubblica: Tenere nascosta questa problematica a tempo indeterminato, nel lungo periodo, avvantaggia gli attaccanti (il problema è banale da trovare), lasciando al contempo utenti e amministratori all'oscuro, inconsapevoli del rischio.
Qual è la posizione del vendor? Secondo il vendor non è una loro responsabilità, poiché la vulnerabilità risiede in un componente di terze parti (CVE-2021-41526). Ciò non significa però che il loro software non sia vulnerabile. Abbiamo segnalato originariamente questo problema al vendor il 22.08.2023. Da allora, non siamo riusciti a convincerli a rilasciare una correzione, nonostante il coinvolgimento dello US CERT negli sforzi di coordinamento. Dopo un lungo periodo di scambi di messaggi, abbiamo concordato con il CERT che in questa situazione la divulgazione pubblica sia la linea d'azione corretta.
Qual è la vulnerabilità? Sui sistemi con MindManager23 installato, gli utenti normali possono attivare l'installer in modalità "riparazione" eseguendo il seguente comando: msiexec.exe /fa PATH_TO_INSTALLER_FILE.msi
Questo attiva il servizio msiexec, che esegue il processo di riparazione, lanciando più azioni e, tra le altre cose, crea file all'interno della directory C:\Users\pk\AppData\Local\Temp, con nomi di file generati dinamicamente, secondo il seguente schema: "wac.tmp", ad esempio, wac98DF.tmp. Il processo usa poi il file wac****.tmp generato (eseguibile) in esecuzione come NT AUTHORITY/SYSTEM per scrivere e caricare un'immagine di se stesso.
Poiché la directory C:\Users\pk\AppData\Local\ è di proprietà dell'utente normale, la directory C:\Users\pk\AppData\Local\Temp\ eredita i permessi, rendendo possibile per l'utente normale interferire con il contenuto della directory, ad esempio sovrascrivendo i file DLL\EXE generati dinamicamente.
L'escalation dei privilegi nell'installer di Mind Manager è causata dall'uso di un componente notoriamente vulnerabile - Flexera Installshield, affetto da CVE-2021-41526. Mind Manager dovrebbe utilizzare una versione aggiornata di Flexera Installshield - oppure riconfezionare l'MSI in modo che non supporti la "modalità riparazione", o che richieda privilegi amministrativi per essere eseguito.
Qual è il processo di sfruttamento? Lo sfruttamento viene effettuato tramite uno script PowerShell che esegue il file .MSI, verifica la presenza e la creazione della nostra DLL\EXE legittima di interesse, e copia ripetutamente la DLL\EXE Proof of Concept nella directory Appdata\Local\Temp, sovrascrivendo di fatto il file DLL\EXE legittimo. Dopo l'esecuzione, il file DLL\EXE PoC crea un file poc.txt in C:\Users\Public, insieme alla riga di comando che lo ha chiamato e all'output di whoami.