À peine onze jours se sont écoulés depuis le lancement de la Nintendo Switch. En général, on peut parler de un lancement réussi, mais comme pour tout produit de première génération, il y aura toujours un bord tranchant ou deux. Cette fois, il s'agit du logiciel. Techniquement, la Nintendo Switch ne possède pas de navigateur, mais elle dispose d'un module qui se comporte comme tel pour permettre l'accès à certains réseaux Wi-Fi. Le problème ? Ce module repose sur une très ancienne version de WebKit, et tout ce dont les hackers avaient besoin, c'était de recycler un vieil exploit iOS.
Le piratage des consoles est inévitable. Tôt ou tard, les passionnés de matériel et de logiciels commencent à étudier leurs conceptions de bout en bout et à faire des choses qui n'auraient jamais traversé l'esprit des fabricants. Bien sûr, toute idée de hacking, modding, émulation et exécution de code alternatif est officiellement rejetée, mais toutes les réclamations se perdent en chemin. Au final, le propriétaire de la console fait ce qu'il veut avec elle, et si cela implique d'exécuter Linux, d'installer un émulateur ou de remplacer son disque dur par un SSD alors qu'en théorie c'est impossible, ainsi soit-il. Le lancement récent de la Switch a fait de la nouvelle plateforme de Nintendo une cible très tentante, et avec le début de la semaine, la première vulnérabilité est déjà apparue.
La première vulnérabilité de la Switch
Maintenant, il faut insister sur le terme « vulnérabilité ». Il ne s'agit pas d'un firmware personnalisé, ni de quoi que ce soit permettant d'exécuter des dumps de cartouches (pour l'instant). En termes simples, le mode en ligne de la Nintendo Switch est un travail en cours, et on s'attend à ce que les choses s'améliorent à chaque mise à jour. Nintendo a déclaré à plusieurs reprises que la Switch ne disposerait pas d'un navigateur traditionnel, mais il existe en réalité un navigateur intégré, basé sur WebKit. Ce navigateur s'active lorsque l'utilisateur connecte la console à un réseau Wi-Fi nécessitant une authentification ou une confirmation manuelle (par exemple via un portail captif). Le problème, c'est que ce navigateur utilise une version très ancienne de WebKit, qui souffre d'un bug de corruption mémoire, CVE-2016-4657. Ce bug a servi de point de départ au jailbreak d'iOS 9.3 et remonte à août de l'année dernière.
La grande question ici est de savoir à quoi pensait Nintendo lorsqu'il a décidé de mettre en œuvre une version de WebKit vieille de plus de six mois et pleine de failles. L'étape suivante sera évidemment de publier une mise à jour, mais en attendant, les hackers chercheront des vulnérabilités supplémentaires qui mènent à une élévation de privilèges.