Premier jailbreak logiciel sur Nintendo Switch 2 : comment l’exploit ns2jb contourne le firmware 23.0.1 sans puce

La sécurité logicielle de la nouvelle console hybride de Nintendo vient de connaître sa première véritable brèche publique. Le chercheur en cybersécurité Sammy Hajhamid, connu sous le pseudonyme pepsipu (étudiant à Caltech passé par Trail of Bits, Zellic et OtterSec), a publié le code source sur GitLab et la démonstration technique de ns2jb, le tout premier jailbreak 100 % logiciel destiné à la Nintendo Switch 2 sur son dernier firmware 23.0.1.
Contrairement aux modifications matérielles qui imposent de souder une puce directement sur la carte mère, cet exploit qualifié de tethered fonctionne uniquement par voie logicielle. Il permet déjà d’exécuter du code natif arbitraire avec les privilèges des modules système ordinaires (sysmodules) ainsi que du module intégré fs chargé de gérer le système de fichiers de la console.
Voir les disponibilités Nintendo Switch 2 sur Amazon→
Des personnages moddés dans Mario Kart World et un accès direct aux sauvegardes
Pour prouver l’efficacité concrète de sa chaîne d’exploitation sur une machine à jour, le chercheur a mis en ligne deux séquences vidéo tournées avec les étudiants de la maison Dabney House à Caltech. On y découvre une partie en écran scindé à quatre joueurs sur l’exclusivité Mario Kart World dans laquelle les pilotes habituels ont été remplacés par des personnages personnalisés injectés dans le jeu, allant de Walter White et Goku jusqu’à Hatsune Miku, Steve, Sans ou encore Cinnamoroll.
Au-delà du modding de jeux exclusifs à la Nintendo Switch 2, l’accès obtenu par ns2jb ouvre plusieurs portes techniques immédiates pour la scène homebrew :
- Extraction et sauvegarde des données : les joueurs peuvent récupérer et copier leurs fichiers de sauvegarde en dehors de la mémoire interne de la console sans passer par le cloud payant.
- Exécution d’applications maison (homebrew) : le contournement des vérifications du chargeur autorise le lancement de programmes natifs non signés par Nintendo.
- Rétro-ingénierie et déchiffrement : la prise de contrôle du module
fsdonne accès au moteur cryptographique matériel utilisé notamment pour déchiffrer les conteneurs NCA4, ainsi qu’à la plupart des périphériques via les entrées-sorties mappées en mémoire (MMIO).
Un banc de test automatisé où OpenAI Codex pilote la console via JetKVM
La méthode employée pour découvrir et assembler cette chaîne de failles illustre l’évolution rapide de la recherche en sécurité sur consoles, dans la lignée de l’automatisation des jailbreaks observée récemment sur l’architecture de la PS5. Sammy Hajhamid a conçu un dispositif physique reliant une Switch 1 et une Nintendo Switch 2 à deux boîtiers JetKVM capables d’envoyer des commandes manette en USB tout en capturant le retour vidéo en HDMI.

Lorsqu’une tentative d’exploitation provoque un plantage fatal du système, la console exige un appui physique sur le bouton Power pour redémarrer. Le chercheur a résolu ce problème en fixant un petit actionneur mécanique Bluetooth SwitchBot au-dessus du bouton d’alimentation, puis a confié l’ensemble du banc d’essai à plusieurs instances de l’agent de programmation OpenAI Codex.
De SmileBASIC 4 au module système fs : l’anatomie de la chaîne d’exploitation
Si la piste initiale du navigateur WebKit (via un portail captif Wi-Fi) s’est vite heurtée aux défenses matérielles de l’architecture ARMv8 de la Switch 2, notamment l’authentification de pointeurs (PAC), l’intégrité du flux de contrôle (CFI) et la mémoire exécutable en lecture fermée (XOM), le chercheur a contourné l’obstacle en ciblant la rétrocompatibilité des logiciels de la première Switch.
Comme ces titres ne prennent pas en charge le mécanisme PAC et que leur code peut être déchiffré sur la première génération de console, l’application de programmation SmileBASIC 4 (déjà célèbre pour l’exploit smilehax à l’époque de la Nintendo 3DS) a servi de cheval de Troie idéal :
- Le point d’entrée (
smilehax2) : l’agent Codex a identifié un dépassement d’entier 32 bits (integer overflow) dans l’interpréteur BASIC lors de l’exécution de la commandeREMOVEsur un tableau. En passant des valeurs qui débordent dans les nombres négatifs (0x9fffffff), la fonctionmemmovedécale la mémoire de 8 octets et écrase la taille d’une chaîne de caractères avec un pointeur mémoire, offrant une lecture et une écriture hors limites dans l’espace utilisateur. - L’escalade vers le module
fs: depuis SmileBASIC 4, l’exploit invoque la commande IPCGetEntryTypesur un handleIFileSystemen lui transmettant un chemin contenant la séquence/... La fonctionPath::Normalizecopie alors la chaîne dans un tampon temporaire de0x301octets sur le tas sans vérifier sa longueur réelle, générant un dépassement de tampon (buffer overflow) qui corrompt un objetBufferedStoragevoisin. - L’exécution de code natif via
ldretro: une fois muni d’une lecture et d’une écriture arbitraires dansfs, l’exploit force l’identifiant de processus (PID) enregistré de SmileBASIC à1pour débloquer les droits complets (FullPermission). Il intercepte ensuite le chargeur systèmeldrlors de l’ouverture d’un conteneur ExeFS pour substituer à la volée le binaire exécutable tout en conservant le certificat signémain.npdmdu modulero, ce qui permet enfin de modifier directement le code exécutable defsen mémoire vive.
Pourquoi cet exploit tethered n’est pas encore un Custom Firmware complet
Malgré la prouesse technique, ns2jb comporte des limites importantes qu’il faut garder à l’esprit. Son caractère tethered signifie que la modification n’est pas persistante : à chaque extinction complète ou redémarrage de la Nintendo Switch 2, la mémoire vive est purgée et la console repart dans son état d’origine, obligeant à relancer toute la procédure via SmileBASIC 4.
Il ne s’agit donc pas encore d’un Custom Firmware (CFW) permanent comparable à Atmosphère sur la première Switch, ni d’un outil conçu pour le piratage de jeux commerciaux. Nintendo ayant par ailleurs la possibilité de retirer SmileBASIC 4 de la boutique eShop ou de corriger le dépassement de tampon de Path::Normalize dans une prochaine mise à jour système au-delà de la version 23.0.1, Sammy Hajhamid étudie déjà la faisabilité d’un portage de la faille fs directement dans le navigateur WebKit via une attaque manipulant uniquement les données.
Mon regard
Voir tomber le firmware 23.0.1 de la Nintendo Switch 2 sans la moindre puce soudée rappelle immédiatement l’époque dorée des exploits logiques sur 3DS et sur la première génération de Switch. Le détail le plus marquant reste sans doute ce bricolage génial où un simple interrupteur connecté SwitchBot et deux boîtiers JetKVM permettent à un modèle de langage d’encaisser les crashs en boucle jusqu’à trouver la faille dans SmileBASIC 4. Pour les joueurs attachés à la préservation de leurs sauvegardes locales et au modding créatif comme sur Mario Kart World, c’est une première avancée majeure, même si Nintendo ne tardera évidemment pas à déployer un correctif firmware et à surveiller de très près la page eShop de SmileBASIC 4.
Retrouvez Pro-Gamer en priorité sur Google
Ajoutez pro-gamer.fr à vos sources préférées pour retrouver nos guides et actus directement dans votre flux Google Discover et vos résultats de recherche.



















