Demuestran un “jailbreak” parcial por software en la consola Switch 2
Un investigador de seguridad ha demostrado una vulneración parcial realizada exclusivamente mediante software en la consola Switch 2. Este hallazgo permite obtener un acceso a nivel de usuario (userland) que habilita la ejecución de código casero (homebrew), la modificación e ingeniería inversa de videojuegos, el respaldo de archivos de guardado fuera de la consola y el acceso a la mayoría de los periféricos del dispositivo mediante MMIO.
Este método, catalogado como un acceso “tethered” (vinculado), requiere utilizar la versión para la Switch original de SmileBasic 4, un entorno de programación e intérprete que funciona en el hardware de Nintendo. Asimismo, el proceso precisa de una computadora con sistema operativo macOS o Linux conectada a la misma red local para ejecutar un paquete de Node.js, el cual ayuda a facilitar el acceso con privilegios al sistema.
Detalles del hallazgo y elevación de privilegios
El responsable del desarrollo, Sammy Hajhamid —conocido en línea como Pepsipu—, indicó que utilizó la herramienta Codex de OpenAI para analizar el intérprete del lenguaje de SmileBasic. Para lograrlo, implementó un entorno personalizado capaz de enviar comandos a través de USB y visualizar los resultados mediante HDMI, además de alternar el encendido de la consola mediante un dispositivo Bluetooth adaptado a un interruptor de luz.
Tras aproximadamente dos semanas de trabajo, Hajhamid descubrió un fallo de desbordamiento de enteros de 32 bits que se produce al eliminar elementos de un arreglo en SmileBasic. Esta falla otorga acceso al puntero del arreglo, lo que a su vez permite obtener permisos de lectura y escritura en determinados sectores de la memoria del sistema.
A partir de ese punto, el investigador analizó los módulos internos del sistema (sysmodules) en busca de funciones con mayores privilegios. Durante el proceso, identificó un desbordamiento de búfer en el módulo de servicios del sistema de archivos (FileSystem), el cual expuso un puntero de datos en caché. Esto concedió permisos arbitrarios de lectura y escritura, permitiendo ejecutar acciones privilegiadas en el sistema de archivos y lograr la ejecución de código nativo mediante un proceso de sistema de archivos simulado.
Demostraciones y herramientas en desarrollo
Como prueba de concepto del fallo explotado, Hajhamid mostró una serie de personajes modificados dentro del videojuego Mario Kart World. Tras la publicación, otros miembros de la comunidad han exhibido demostraciones simples ejecutadas en el hardware modificado —entre ellas el funcionamiento de GPU Vulkan en nivel de usuario— así como herramientas de desarrollo que se encuentran actualmente en elaboración.