Une faille BASIC

Un jailbreak de la Switch 2 est en approche. En exploitant une série de failles, un bidouilleur est parvenu à exécuter du code dans le système de la console de Nintendo. Voilà qui ouvre la porte aux homebrews et à la modification de jeux, même si l’opération demeure complexe et que Nintendo veille au grain.
16 mois après son lancement, voici que déboule ce qui ressemble fort au premier jailbreak de la Switch 2. Sammy Hajhamid est parvenu à modifier Mario Kart World en y intégrant des pilotes inédits comme Peter Griffin, le patriarche de la série animée Family Guy, Red d’Angry Birds ou encore Hatsune Miku. Un exploit rendu possible par une bidouille qu’il décrit sur son blog.

Le maillon faible
Le jailbreak passe par l’application SmileBASIC, qui permet d’exécuter des programmes BASIC sur la Switch 2 en tout bien tout honneur. Mais une erreur de calcul sur des entiers de 32 bits dans une commande permet de lire et de modifier de la mémoire en dehors des limites prévues.
Sammy Hajhamid a ensuite tiré partie d’une erreur dans le traitement des chemins du service qui s’occupe des systèmes de fichiers de la console. En l’occurrence, il s’agit d’un tampon temporaire trop petit permettant de lire et d’écrire dans la mémoire du service en question. Ça ne suffit pas pour exécuter de nouvelles instructions, mais on s’en approche.
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ésormais 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 soi-même l’opération, pour peu qu’on dispose de SmileBASIC… qui n’est plus distribué dans l’eShop. Rien n’a été confirmé, mais il n’est pas interdit de penser que Nintendo est derrière le retrait précipité de cette application. L’histoire repasse ici les plats, puisque SmileBASIC avait déjà été utilisé pour des homebrews sur la 3DS.
Le tout a demandé deux semaines de travail 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 a une limite importante : il nécessite un ordinateur pour l’installer, et il doit être relancé après le redémarrage de l’appareil.
Malgré tout, c’est une première brèche qui pourrait ouvrir la voie à tout un monde de possibilités : des programmes homebrew, des mods, de l’ingénierie inverse et bien évidemment, des jeux piratés.
Il ne fait guère de doute que Nintendo regarde tout cela de très près, en ayant en tête ce qui s’était passé avec la Switch première du nom. 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.






