
Исследователь безопасности Сэмми Хаджхамид продемонстрировал частичный программный джейлбрейк (снятие ограничений) Nintendo Switch 2. Эксплойт предоставляет доступ к пользовательскому уровню системы и, по словам автора, позволяет запускать любительские программы, изучать и модифицировать игры, сохранять резервные копии файлов сохранений на внешнем устройстве, а также обращаться к большинству периферийных компонентов консоли через интерфейс отображения памяти.
Основой взлома стала версия программной среды SmileBasic 4 для оригинальной Nintendo Switch. Для запуска так называемого привязанного взлома требуется компьютер на macOS или Linux, подключённый к той же сети, что и консоль. На компьютере запускается пакет для Node.js, который помогает получить расширенные системные права.
Как Хаджхамид, известный в интернете под именем Pepsipu, написал в своём блоге, при исследовании интерпретатора SmileBasic он использовал Codex от OpenAI. Специальная тестовая система отправляла консоли команды через USB, показывала результаты по HDMI и могла перезапускать устройство с помощью Bluetooth-переключателя для управления светом. Примерно за две недели работы она обнаружила переполнение 32-битного целого числа при удалении элементов массива в SmileBasic.
Эта ошибка открыла доступ к указателю массива, благодаря чему стало возможным чтение и запись отдельных участков системной памяти. Затем исследователь начал проверять внутренние системные модули Switch 2 в поисках компонентов с более широкими полномочиями. В службе файловой системы он обнаружил переполнение буфера, раскрывшее указатель на кэшированные данные и обеспечившее произвольные операции чтения и записи.
Получив такой доступ, Хаджхамид смог выполнять привилегированные действия с файловой системой. Позднее ему удалось добиться запуска собственного машинного кода через поддельный процесс файловой системы. Разработчик подчёркивает, что полученный доступ относится к пользовательскому уровню, однако он уже позволяет работать с рядом функций консоли.
В качестве демонстрации исследователь показал в игре Mario Kart World множество новых модифицированных персонажей. Другие участники сообщества уже запускают на взломанных устройствах простые демонстрации, включая полноценную работу графического интерфейса Vulkan, а также создают инструменты для разработчиков. Описание эксплойта опубликовано на GitLab, а подробности работы Хаджхамид представил на своём сайте Ars Technica.