Una vulnerabilidad afecta a las versiones de Windows desde el XP al 10. Esto fue publicado por el Project Zero de Google llamado Tovis Ormandy.

La dificultad se encuentra en el subsistema MSCTF que es parte del framework de servicios de texto o TSF (Text Service Framework).
El TSF organiza elementos como distribuciones de teclado, métodos de entrada, procesamiento de texto, etc.
Solo hay dos componentes primordiales, el cliente msctf y el servidor/monitor ctfmon.
Este último servicio comienza cuando inicia sesión en el dispositivo, se puede comprobar viendo el administrador de tareas:

ctfmon

De esta manera el servicio elabora un puerto ALPC (Local Intel-Pocess Communication) donde las aplicaciones se conectan para intercambiar mensajes sobre cambios en el layout del teclado o método de entrada.

El kernel solicita una devolución de llamada o calback, USER32!CtfHookProcWorker, que carga automáticamente el cliente msctf, esto sucede cuando cualquier proceso crea una ventana.

La razón por la que los clientes llaman a RegisterWindowMessage al inicio es porque el servidor se mantiene en espera constantemente de los mensajes de los clientes, aunque los clientes solo busquen mensajes cuando se les avisa a través de PostMessage.

Se pueden enviar mensajes a cualquier subproceso conectado, o al mismo monitor configurando el destino en el subproceso cero.
El protocolo CTF es muy extenso, hay varios fallos de diseño en el sistema y contiene muchos parámetros.

Podemos conectarnos a nuestra sesión y observar los clientes conectados:

msctf04dsfvdsgvds

Es importante saber qué podemos esperar a que un cliente en especial se conecte y pedirle al servidor que le envié comandos.
No hay control de acceso entre los clientes y el servidor de MSCTF.

El protocolo tan antiguo como lo es CTF, contiene vulnerabilidades de corrupción de memoria, de esta manera podremos explotar un integer overflow . "Sólo" hay que evadir CFG y ASLR y la magia ocurre...

En la búsqueda del cliente CTF privilegiado

En este momento que sabemos que podemos comprometer a clientes CTF, ¿De qué manera podemos encontrar algo útil? Ya que sabemos que no hay control de acceso en CTF, podríamos conectarnos a la sesión activa de otro usuario o aguardar a que un adm inicie sesión y poner en riesgo su sesión.
Una mejor opción es que utilizamos USER32!LockWorkstation, podemos cambiar al escritorio Winlogon que ya se está ejecutando como SYSTEM!

msctf02--1-232323-1

msctf03

Solo nos queda observar como Microsoft actualiza su protocolo CTF, eso es como dice Tavis, Solo es la punta del iceberg.