Un premier jailbreak exploite SmileBASIC pour exécuter du code sur la Switch 2

3 min de lecture

Un premier jailbreak exploite SmileBASIC pour exécuter du code sur la Switch 2

Un jailbreak de la Switch 2 se profile. En combinant plusieurs failles, un bidouilleur est parvenu à exécuter du code dans le système de la console de Nintendo. Cela ouvre la voie aux homebrews et à la modification de jeux, même si l'opération reste complexe et que Nintendo surveille la situation.

Des pilotes inédits dans Mario Kart World

Seize mois après le lancement de la console, ce qui ressemble fort au premier jailbreak de la Switch 2 fait surface. Sammy Hajhamid a réussi à modifier Mario Kart World en y intégrant des pilotes inédits, parmi lesquels Peter Griffin, le patriarche de la série animée Family Guy, Red d'Angry Birds ou encore Hatsune Miku. Sonic, Steve de Minecraft et Walter White de Breaking Bad figurent aussi parmi les pilotes jamais vus dans le jeu. Le bidouilleur décrit son exploit sur son blog.

SmileBASIC comme point d'entrée

Le jailbreak passe par l'application SmileBASIC, qui permet d'exécuter des programmes BASIC sur la Switch 2 de manière légitime. Une erreur de calcul sur des entiers de 32 bits dans une commande permet toutefois de lire et de modifier de la mémoire en dehors des limites prévues.

Sammy Hajhamid a ensuite exploité une erreur dans le traitement des chemins du service chargé des systèmes de fichiers de la console. Il s'agit d'un tampon temporaire trop petit, qui permet de lire et d'écrire dans la mémoire de ce service. Cela ne suffit pas à exécuter de nouvelles instructions, mais on s'en approche.

Contourner le mécanisme de confiance

En modifiant la mémoire de ce service, il devient possible de lui faire fournir un autre exécutable que celui attendu, tout en conservant les métadonnées authentiques du programme d'origine. Les vérifications de signature passent donc, mais le code chargé a été remplacé : le mécanisme de confiance est contourné. Le bidouilleur peut dès lors exécuter son propre code avec les permissions d'un service système, puis s'en servir pour modifier le code du service de fichiers lui-même.

Un jailbreak sous contraintes

Le dépôt GitLab du bidouilleur permet de tester l'opération soi-même, à condition de disposer de SmileBASIC, qui n'est plus distribué dans l'eShop. Rien n'a été confirmé, mais on peut penser que Nintendo est derrière le retrait précipité de cette application. L'histoire se répète, puisque SmileBASIC avait déjà été utilisé pour des homebrews sur la 3DS.

Le travail a demandé deux semaines au hacker, armé de Codex et d'un actionneur Bluetooth faisant office d'interrupteur : il appuyait sur le bouton d'alimentation de la console quand c'était nécessaire. Ce jailbreak fonctionne avec la dernière version du système d'exploitation de la Switch 2 (23.0.1), mais il présente une limite importante : il nécessite un ordinateur pour l'installer et doit être relancé après le redémarrage de l'appareil.

Une première brèche

Malgré ces contraintes, il s'agit d'une première brèche qui pourrait ouvrir la voie à de nombreuses possibilités : programmes homebrew, mods, ingénierie inverse et, bien évidemment, jeux piratés. Il ne fait guère de doute que Nintendo suit tout cela de très près, en gardant en mémoire ce qui s'était passé avec la première Switch. Les premiers outils permettant d'exécuter des homebrews étaient apparus moins d'un an après son lancement, avant qu'une faille bien plus profonde ne facilite le développement des firmwares personnalisés et le piratage de jeux. Sony tente de son côté de refermer les vannes du piratage après le jailbreak de la PS5.

Source : NEXT