
public disclosure
Aplicación afectada: MindManager23_setup.exe
Plataforma: Windows
Problema: Escalada local de privilegios mediante el modo de reparación del instalador MSI (condición de carrera por secuestro de EXE)
Descubierto y reportado por: Pawel Karwowski y Julian Horoszkiewicz (Eviden Red Team)
Mitigación propuesta: https://learn.microsoft.com/en-us/windows/win32/msi/disablemsi
Motivo de la divulgación pública: Mantener esto en secreto indefinidamente a la larga beneficia a los actores de amenazas (el problema es trivial de encontrar), mientras que mantiene a los usuarios y administradores en la ignorancia, sin conocer el riesgo.
¿Cuál es la postura del proveedor? Según el proveedor, no es su responsabilidad, ya que la vulnerabilidad reside en un componente de terceros (CVE-2021-41526). Esto no significa que su software no sea vulnerable, sin embargo. Originalmente reportamos este problema al proveedor el 22.08.2023. Desde entonces, no pudimos convencerlos de que publicaran un parche, incluso involucrando a US CERT en los esfuerzos de coordinación. Después de un largo período de intercambio de mensajes, acordamos con CERT que, en esta situación, la divulgación pública es el curso de acción adecuado.
¿Cuál es la vulnerabilidad? En sistemas con MindManager23 instalado, es posible que los usuarios habituales activen el instalador en modo "reparación", ejecutando el siguiente comando: msiexec.exe /fa RUTA_AL_ARCHIVO_INSTALADOR.msi
Esto activa el servicio msiexec, que lleva a cabo el proceso de reparación, ejecutando múltiples acciones y, entre otras cosas, crea archivos dentro del directorio C:\Users\pk\AppData\Local\Temp, cuyos nombres de archivo se generan dinámicamente, con el siguiente patrón: "wac<cuatro letras o números aleatorios>.tmp", por ejemplo, wac98DF.tmp. El proceso utiliza entonces el archivo wac****.tmp generado (ejecutable) que se ejecuta como NT AUTHORITY/SYSTEM para escribir y cargar una imagen de sí mismo.
Dado que el directorio C:\Users\pk\AppData\Local\ pertenece al usuario habitual, el directorio C:\Users\pk\AppData\Local\Temp\ hereda los permisos, lo que hace posible que el usuario habitual interfiera con el contenido del directorio, por ejemplo sobrescribiendo los archivos DLL\EXE generados dinámicamente.
La escalada de privilegios en el instalador de Mind Manager es causada por su uso de un componente vulnerable conocido: Flexera Installshield, afectado por CVE-2021-41526. Mind Manager debería usar una versión actualizada de Flexera Installshield, o reempaquetar el MSI para que no admita el "modo de reparación", o que requiera privilegios administrativos para ejecutarlo.
¿Cuál es el proceso de explotación? La explotación se realiza mediante un script de powershell que ejecuta el archivo .MSI, comprueba la presencia y creación de nuestra DLL\EXE legítima de interés, y copia repetidamente la DLL\EXE de prueba de concepto en el directorio Appdata\Local\Temp, sobrescribiendo efectivamente el archivo DLL\EXE legítimo. Después de ejecutarse, el archivo DLL\EXE de la PoC crea un archivo poc.txt en C:\Users\Public, junto con la línea de comandos que lo invocó y la salida de whoami.