La popular plataforma de videojuegos Steam, desarrollada por la compañía desarrolladora de videojuegos Valve, presenta una vulnerabilidad zero-day en la versión para Windows de su aplicación. El fallo, hecho público por el investigador Vasily Kravets, permite a cualquier usuario correr código arbitrario con privilegios de administrador.
El investigador, molesto con Valve luego de reportar la vulnerabilidad a través de HackerOne y que fuese rechazada sin mayores explicaciones y con el pedido de que no hiciera público el hallazgo, decidió hacer público su descubrimiento 45 días después de haberlo reportado, explicó Kravets en una públicación.
Como dijimos anteriormente, el fallo de seguridad está en un servicio que instala Steam llamado “Steam Client Service”. Este servicio, el cual corre con privilegios elevados, crea una entrada en el registro con permiso total de escritura para el grupo de usuarios de menor privilegios, permitiendo que los mismos puedan añadir subclaves. Dada la configuración de la entrada “padre” añadida previamente por el servicio de steam, las subclaves creadas heredan dichos permisos de escritura. Por lo tanto, un software malicioso podría crear un enlace simbólico entre una subclave y otra entrada del registro a la cual no puede acceder por no contar con los privilegios correspondientes. En este sentido, el investigador comprobó que utilizando este enlace simbólico es posible modificar la clave a la cual referencia y así lograr una eventual escalada de privilegios.
Según bleepingcomputer, luego de que Kravets publicara los detalles de su hallazgo, el investigador conocido por descubrir vulnerabilidades de escalada de privilegios Matt Nelson, que según explica el medio también tuvo problemas con Valve, creo una prueba de concepto (PoC) que aprovecha el fallo y compartió la PoC en GitHub.
Por último, añadir que el reporte de esta vulnerabilidad fue rechazado por parte de Valve a través de hackerOne por ser considerado fuera del espectro debido a que se trata de un fallo que para ser explotado requiere acceso físico al dispositivo del usuario, publicó arstechinca.