Un exploit logiciel sur Switch 2 permet de modifier Mario Kart World, mais cesse de fonctionner après un redémarrage

12 min de lecture
Switch 2 Software Exploit Runs Mario Kart World Mods, but Resets After Reboot

Une application de programmation ouvre une voie d’accès à la Switch 2

Le chercheur en sécurité Sammy Hajhamid, connu en ligne sous le pseudonyme pepsipu, a démontré un exploit logiciel sur une Nintendo Switch 2 équipée du micrologiciel 23.0.1. Pour montrer ce que permet cet accès, il a utilisé des courses modifiées de Mario Kart World. Des personnages comme Cinnamoroll, Hatsune Miku et Peter Griffin sont apparus dans le jeu sans installation de puce de modification matérielle.

Sommaire
  1. Une application de programmation ouvre une voie d’accès à la Switch 2
  2. Ce que montre la démonstration de Mario Kart
  3. Comment une ancienne application Switch sert de point d’entrée
  4. Une seconde faille permet d’accéder au service de système de fichiers
  5. Codex a aidé, mais les recherches ont duré deux semaines
  6. Pourquoi la piste du navigateur a été abandonnée
  7. Ce dont les utilisateurs auraient besoin et ce qui est réinitialisé
  8. La réponse de Nintendo et le calendrier de publication
  9. Points clés

L’outil, appelé ns2jb, combine une faille dans une application de programmation de la première Switch avec une vulnérabilité du service de système de fichiers de la console. Selon Hajhamid, il permet l’exécution de code natif avec les autorisations de plusieurs services système, ouvrant la voie aux applications non officielles, aux modifications de jeux et à la copie des sauvegardes depuis la console.

Sa principale limite est simple : l’accès disparaît au redémarrage de la console. Les utilisateurs doivent relancer l’exploit après chaque redémarrage. À l’heure actuelle, il ne permet pas d’installer durablement un micrologiciel personnalisé, c’est-à-dire une version alternative du logiciel système de la console.

Le compte rendu technique de Hajhamid est daté du 18 octobre 2026, tandis que sa démonstration publique a été publiée le 22 octobre. Il indiquait que la version 23.0.1 était le dernier micrologiciel disponible à cette date. Selon les informations rapportées, les recherches ont duré environ deux semaines et ont fait appel à l’outil de programmation Codex d’OpenAI, en plus d’un important travail du développeur.

Nintendo n’avait pas fait de commentaire public au moment de la publication des articles relatant la démonstration. SmileBASIC 4, l’application de programmation utilisée comme point d’entrée, aurait été retirée de certaines boutiques en ligne régionales, ce qui pose d’emblée la question de l’accès au logiciel nécessaire pour les personnes souhaitant examiner l’exploit.

Ce que montre la démonstration de Mario Kart

Mario Kart World a fourni le résultat le plus visible : des personnages bien connus ont rejoint le jeu, venus d’univers extérieurs à Nintendo. Les démonstrations montraient notamment Cinnamoroll, Hatsune Miku, Peter Griffin et RED, le personnage rouge d’Angry Birds. Steve, de Minecraft, est également apparu dans des descriptions du jeu modifié.

Le changement le plus important se produit sous la surface de la course. L’exécution de code natif consiste à lancer des instructions directement sur le processeur de la console, au lieu de se limiter aux commandes normalement autorisées par un jeu ou une application de programmation. Les autorisations associées à ce code déterminent les parties de la machine auxquelles il peut accéder.

Publicité

Hajhamid, chercheur en sécurité présenté comme étudiant de premier cycle à Caltech, a décrit les usages envisagés de cet accès :

Cela nous permet d’exécuter des logiciels amateurs, de faire de la rétro-ingénierie et de modifier les jeux Switch 2, de sauvegarder les fichiers de sauvegarde depuis la Switch et d’accéder à la plupart des périphériques de la Switch 2 par l’intermédiaire des entrées-sorties mappées en mémoire (MMIO).

Les logiciels amateurs, ou homebrews, sont des programmes non officiels conçus en dehors du système de distribution approuvé par le fabricant de la console. La rétro-ingénierie consiste à examiner le fonctionnement d’un logiciel existant. Les entrées-sorties mappées en mémoire, ou MMIO, permettent à un logiciel de communiquer avec le matériel par l’intermédiaire d’adresses mémoire dédiées.

Ces capacités intéressent différents groupes pour différentes raisons. Un joueur peut vouloir une copie indépendante de sa sauvegarde, un moddeur peut vouloir remplacer un personnage et un chercheur peut souhaiter examiner un service système. Dans chaque cas, il faut un accès auquel les jeux ordinaires n’ont normalement pas droit.

Comment une ancienne application Switch sert de point d’entrée

SmileBASIC 4 permet d’écrire et d’exécuter des programmes sur la Nintendo Switch d’origine. La Switch 2 peut faire tourner ce logiciel grâce à la rétrocompatibilité, une fonctionnalité qui permet aux jeux d’une ancienne console de fonctionner sur sa successeure. Ce lien a permis à Hajhamid d’accéder à la nouvelle machine par l’intermédiaire d’un ancien logiciel.

La première faille concernait un débordement d’entier dans l’interpréteur de SmileBASIC, le composant qui lit et exécute les commandes de programmation. Un débordement d’entier se produit lorsqu’un calcul dépasse la plage réservée par l’ordinateur à un nombre, ce qui fait revenir le résultat à une autre valeur.

Dans ce cas, un calcul servant à vérifier une opération sur un tableau, c’est-à-dire une liste de valeurs stockées, pouvait produire un nombre négatif à la suite d’un débordement. La vérification acceptait alors une opération qui aurait dû être rejetée. Une copie en mémoire effectuée ensuite déplaçait des données hors de la zone prévue.

Hajhamid a expliqué avoir exploité ce comportement pour amener le programme à traiter une partie d’un tableau comme une chaîne de caractères. Cette confusion a permis de lire et de modifier la mémoire au-delà des limites prévues pour le programme. Les premières recherches ont pu être menées sur une Switch d’origine avant d’être intégrées à la chaîne d’exploitation de la Switch 2.

SmileBASIC avait déjà été impliqué dans des exploits de logiciels amateurs sur la Nintendo 3DS. Dans le cas présent, son intérêt particulier tenait au fait qu’une ancienne application pouvait servir de première étape d’une attaque contre une console plus récente.

Publicité

Une seconde faille permet d’accéder au service de système de fichiers

L’accès à SmileBASIC n’était qu’un début. Hajhamid s’est ensuite attaqué au service intégré de système de fichiers, appelé fs, qui gère les opérations de stockage. Il fallait atteindre un service doté d’autorisations plus étendues pour dépasser les restrictions de l’application de programmation.

La seconde vulnérabilité concernait la normalisation des chemins d’accès. Un chemin indique au logiciel où trouver un élément dans le stockage ; la normalisation le met sous une forme standard avant son utilisation par le système. Hajhamid a décrit un cas dans lequel le service copiait un chemin dans un tampon temporaire trop petit.

Un tampon est une zone de mémoire réservée. Lorsque des données débordent de cette zone, elles peuvent écraser les informations qui se trouvent à proximité. Hajhamid a exploité ce débordement pour affecter un objet du cache de stockage et ainsi lire et écrire dans la mémoire du service de système de fichiers.

Il a ensuite expliqué avoir modifié l’identité de processus enregistrée pour la connexion de SmileBASIC, obtenant ainsi des autorisations plus étendues sur le système de fichiers. Cela lui a permis de copier le stockage interne et le code des modules système ordinaires pour les examiner. Les modules système, ou sysmodules, sont des services qui remplissent des fonctions pour le système d’exploitation.

Selon Hajhamid, les capacités de ns2jb incluent l’exécution de code natif sous la forme de modules système ordinaires et du module intégré de système de fichiers. La chaîne comporte donc deux étapes distinctes : une première ouverture via SmileBASIC, puis une seconde vulnérabilité qui accorde un accès plus étendu.

Codex a aidé, mais les recherches ont duré deux semaines

Hajhamid a utilisé Codex, l’outil d’OpenAI, au cours de ses recherches. Sa configuration personnalisée permettait à des agents d’IA d’envoyer des commandes à des consoles et d’examiner leur sortie vidéo. Des appareils JetKVM transmettaient les commandes de la manette par USB et capturaient la vidéo par HDMI.

Un mécanisme Bluetooth commandant un interrupteur a fourni un élément inhabituel mais pratique : il appuyait physiquement sur le bouton d’alimentation de la console après un plantage. Les plantages répétés sont fréquents lors de ce type de recherche sur la mémoire ; le redémarrage du matériel faisait donc partie des essais.

Selon le récit de Hajhamid, Codex a trouvé le débordement d’entier exploitable dans SmileBASIC. Les travaux ont également porté sur l’examen des services système et du code, ainsi que sur la mise au point de la chaîne permettant d’atteindre le service de système de fichiers. Hajhamid a indiqué avoir lui-même étudié ce service tandis que des agents d’IA exploraient d’autres pistes.

Publicité

Le développeur a précisé qu’une légende humoristique laissant entendre qu’il avait suffi de demander à une IA de jailbreaker la console ne décrivait pas le processus réel. Une première tentative visant à obtenir l’exécution de code par une autre voie a échoué, et le jailbreak a demandé un travail conséquent pendant environ deux semaines.

Hajhamid a déclaré que Codex avait produit la modification de Mario Kart World en une journée. La démonstration ludique s’inscrit donc dans un calendrier différent des recherches de sécurité qui l’ont rendue possible : les changements visibles apportés aux personnages sont intervenus après le travail plus difficile nécessaire pour obtenir l’accès.

Pourquoi la piste du navigateur a été abandonnée

WebKit, le moteur de navigateur visé lors de la première tentative, était une cible précoce, car les navigateurs traitent des contenus complexes et ont souvent fait l’objet de recherches en sécurité. Hajhamid a exploré la possibilité d’y accéder par un portail captif Wi-Fi personnalisé, le type de page qui peut s’afficher lorsqu’un appareil rejoint un réseau.

Cette approche s’est heurtée à plusieurs protections. La mémoire réservée à l’exécution interdit la lecture des instructions exécutables, ce qui rend plus difficile la localisation de séquences de code utiles. L’authentification des pointeurs vérifie certaines adresses avant leur utilisation, tandis que l’intégrité du flux de contrôle vérifie que certains transferts d’exécution suivent des chemins autorisés.

Les premiers travaux sur le navigateur ont permis d’obtenir une forme de contrôle plus limitée, mais pas la communication arbitraire avec les services système nécessaire au jailbreak envisagé. Hajhamid a donc poursuivi la piste de SmileBASIC, tout en menant séparément les recherches sur le navigateur.

Il a présenté l’adaptation de l’exploit du système de fichiers à WebKit comme une piste pour la suite des travaux. Elle pourrait fournir un autre point d’entrée, mais aucune date de publication n’a été annoncée pour une telle version. Il a également indiqué que l’exploit avait été testé sur la Switch d’origine, sans avoir encore été conditionné pour cette console.

Ce dont les utilisateurs auraient besoin et ce qui est réinitialisé

La méthode décrite utilise SmileBASIC 4 version 4.4.9, dont le prix annoncé sur l’eShop américain est d’environ 25 dollars. Un autre moddeur a déclaré que le jeu n’était peut-être pas indispensable, mais la chaîne présentée commence par l’application de programmation. Les conditions pratiques d’une autre méthode restent incertaines.

Une version d’essai japonaise gratuite a également attiré l’attention de personnes cherchant à obtenir le logiciel. Elle serait incompatible avec l’exploit. Selon les informations disponibles, la version d’essai et la version payante n’offrent donc pas les mêmes possibilités pour cette méthode particulière.

Publicité

Ns2jb est décrit comme un exploit non persistant, qui nécessite une connexion à la console. Dans ce cas, il doit être relancé depuis un jeu après chaque démarrage de la console. Un redémarrage efface l’exploit actif de la mémoire et rétablit l’état normal des processus concernés.

Un exploit logiciel et un micrologiciel personnalisé persistant offrent des formes d’accès différentes. Ns2jb modifie ce qui peut être exécuté pendant une session active. Un micrologiciel personnalisé persistant nécessiterait un mécanisme supplémentaire, capable de fonctionner après les redémarrages.

Les instructions actuelles sont également présentées comme difficiles à suivre pour un joueur moyen. Le public visé est donc constitué de chercheurs et de moddeurs expérimentés, et non de tous les propriétaires qui souhaiteraient disposer d’un menu simple pour installer des applications non officielles.

La réponse de Nintendo et le calendrier de publication

La disponibilité de SmileBASIC 4 est devenue une préoccupation peu après la démonstration. Certains utilisateurs auraient acheté l’application puis déconnecté leur console d’Internet, par crainte qu’une mise à jour ne ferme la faille. Les comptes rendus publiés autour de l’annonce évoquaient soit un retrait à venir, soit la disparition de l’application de certaines boutiques régionales.

Nintendo n’avait publié aucune explication officielle ni annoncé de correctif dans ces articles. L’ampleur des retraits signalés, notamment les régions concernées, n’a pas été confirmée. Retirer une application de la vente empêcherait de nouveaux achats ; une mise à jour du système ou du logiciel corrigerait le code vulnérable par une autre voie.

Les dates mentionnées dans l’annonce et le compte rendu technique sont les suivantes :

  • 18 octobre 2026 : le compte rendu technique de Hajhamid est daté de ce jour et présente ns2jb comme un exploit logiciel pour le micrologiciel 23.0.1.
  • 22 octobre 2026 : Hajhamid a publié la démonstration de Mario Kart World et annoncé le jailbreak.
  • Aux alentours de l’annonce du 22 octobre : des utilisateurs ont parlé de l’achat de SmileBASIC 4, tandis que des articles faisaient état de retraits possibles ou déjà effectués dans certaines boutiques en ligne régionales.

Le développeur Geziné, qui avait révélé une vulnérabilité distincte affectant les deux générations de Switch, a déclaré avoir échangé avec pepsipu et estimé que l’outil semblait légitime. Geziné a également indiqué que pepsipu connaissait un exploit distinct en mode utilisateur qu’il avait développé.

Hajhamid a présenté ns2jb comme le premier exploit de ce type pour la Switch 2 à sa connaissance. Il offre dès à présent une méthode opérationnelle pour approfondir les recherches sur les logiciels et modifier des jeux, avec des limites manifestes en matière de persistance et de facilité d’utilisation.

Publicité

Points clés

  • Selon les informations rapportées, ns2jb fonctionne sur le micrologiciel 23.0.1 de la Switch 2, sans puce de modification matérielle.
  • La chaîne démontrée combine une faille mémoire de SmileBASIC et une vulnérabilité du service de système de fichiers.
  • Sammy Hajhamid, connu sous le nom de pepsipu, a utilisé Codex d’OpenAI pendant environ deux semaines de recherches.
  • Les démonstrations de Mario Kart World montraient des personnages personnalisés, dont Cinnamoroll, Hatsune Miku et Peter Griffin.
  • L’exploit disparaît après un redémarrage et ne permet pas actuellement d’installer durablement un micrologiciel personnalisé.
  • Le point d’entrée décrit utilise SmileBASIC 4 version 4.4.9 ; des retraits des boutiques régionales ont été signalés, tandis que Nintendo n’avait pas fait de commentaire public.
Partager cet article

À lire aussi