ИндустрияNintendo Switch 2 · Nintendo Switch

Для Nintendo Switch 2 представили программный джейлбрейк ns2jb

Разработка Сэмми Хаджхамида позволяет запускать на консоли нативный код без модчипа и аппаратной переделки. Эксплойт работает с прошивкой 23.0.1, но требует активации.

Для Nintendo Switch 2 представили программный джейлбрейк ns2jb
В этой истории

Возможности ns2jb

Исследователь безопасности Сэмми Хаджхамид представил ns2jb — джейлбрейк, основанный только на программных уязвимостях Nintendo Switch 2. Он не требует ни установки модчипа, ни физического изменения консоли, однако для его запуска нужна активация: это не постоянная модификация системы и не полноценная пользовательская прошивка уровня Atmosphère.

Согласно документации автора, эксплойт даёт возможность выполнять произвольный нативный код с разрешениями обычных системных модулей и компонента fs, связанного с файловой системой. С его помощью можно запускать самодельные приложения, менять игры, извлекать сохранения, изучать внутреннее устройство консоли и взаимодействовать с некоторыми устройствами через механизм отображения ввода-вывода в память.

В качестве демонстрации Хаджхамид изменил Mario Kart World: добавил в игру персонажей Cinnamoroll, Red и Tole Tole, за которых можно играть во время гонок.

Уязвимости и способ запуска кода

При создании ns2jb Хаджхамид применял OpenAI Codex для поиска слабых мест, изучения системных компонентов и разработки отдельных частей эксплойта. Первой точкой входа стал SmileBASIC: в его интерпретаторе Codex выявил 32-битное переполнение целого числа. Оно позволило выйти за границы памяти и сформировать цепочку эксплуатации с использованием возвратно-ориентированного программирования.

Затем исследование переключилось на системный компонент fs. При обработке путей к файлам в нём нашли переполнение буфера, благодаря которому удалось получить произвольное чтение и запись памяти, а также доступ к более привилегированным частям системы.

Для запуска собственного кода исследователю не пришлось напрямую взламывать криптографические подписи Nintendo. Получив контроль над fs, он смог повлиять на загрузку содержимого: проверка подлинных метаданных проходила успешно, но затем консоль запускала выбранный им исполняемый файл.

Ограничения и дальнейшие планы

Несмотря на совместимость с прошивкой 23.0.1, ns2jb пока не готов к массовому использованию. Нынешний способ опирается на SmileBASIC и требует процедуры активации. Также не подтверждено, что с его помощью можно напрямую запускать резервные копии коммерческих игр через стандартный интерфейс консоли.

Пока проект представляет собой прежде всего инструмент для исследований. Полученный уровень доступа может послужить основой для дальнейшей работы над самодельными приложениями, модификациями, эмуляцией и будущими пользовательскими прошивками Nintendo Switch 2.

Хаджхамид планирует изучить, можно ли перенести часть эксплойта в WebKit. ns2jb также протестировали на первой Nintendo Switch, однако отдельной версии для этой консоли пока нет.

К ленте новостей