Le développeur ChendoChap poursuit ses travaux sur la sécurité de la PlayStation 5 avec Byepervisor Reborn, un nouvel exploit visant l'hyperviseur de la console. Le projet vient de recevoir un nouveau commit sur GitHub et s'appuie sur une vulnérabilité liée à la sortie du mode repos, susceptible d'affecter les firmwares PS5 de la version 6.xx jusqu'à la 13.60. Attention toutefois : le développeur précise que ce dépôt constitue avant tout une base de travail destinée aux développeurs. En l'état actuel, il ne s'agit pas d'une solution prête à l'emploi pour le grand public et aucun environnement HEN ou ensemble de patches n'est fourni.
Une vulnérabilité exploitée lors de la sortie du mode repos
Byepervisor Reborn repose sur une faille documentée par soniciso1 dans ses travaux consacrés à l'hyperviseur PS5. La vulnérabilité initiale a été découverte par theflow0, avant que d'autres chercheurs ne poursuivent les investigations. Le problème se situe dans le mécanisme de reprise après une mise en veille de type S3. Lors de cette opération, l'hypercall startup_mp est invoqué sur le cœur 0 du processeur afin d'initialiser les autres cœurs, numérotés de 1 à 15. Cette fonction reçoit notamment une adresse de redémarrage, appelée rip, qui détermine le point d'exécution de chaque cœur.
Durant cette phase, une configuration insuffisamment sécurisée des tables de pages imbriquées (Nested Page Tables, ou NPT) est appliquée aux autres cœurs. Cette situation peut être exploitée pour exécuter du code avec des capacités de lecture et d'écriture dans l'espace mémoire de l'hyperviseur, y compris sur les structures VMCB (Virtual Machine Control Blocks).
L'objectif est donc de franchir une barrière de sécurité particulièrement importante sur PS5 : l'hyperviseur, qui contribue à isoler les différents environnements d'exécution de la console.
Quels firmwares sont compatibles (à 11h15 le 13.10.26)
Le projet annonce une portée théorique allant des firmwares 6.xx à 13.60, mais tous ne bénéficient pas encore du même niveau de prise en charge. Le projet est sorti hier, donc le recul n'est pas encore total, merci de patienter !
Les versions actuellement indiquées comme pleinement prises en charge sont :
Firmware 13.60 : pris en charge.
Firmware 13.20 : pris en charge.
Firmware 13.00 : non testé.
Les versions 6.xx et supérieures pourraient également être concernées par cette vulnérabilité, mais des adaptations seraient nécessaires, notamment au niveau des offsets et des gadgets du noyau.
Le firmware 14.00 est également évoqué comme une cible techniquement envisageable avec des modifications. Cependant, cette prise en charge n'est pas incluse dans le dépôt. Le développeur souligne par ailleurs l'absence d'exploit kernel public pour cette version au moment de la rédaction.
Une étape intéressante pour les développeurs
Après son exécution, le payload cherche à placer la console dans un état permettant de dumper et de patcher le noyau. Il désactive notamment les protections XOM (Execute Only Memory) et xotext, tout en rétablissant les possibilités d'écriture nécessaires aux opérations prévues.
Une notification affiche les huit premiers octets de la section .text du noyau après la reprise du mode repos. Ce mécanisme sert de démonstration du contournement de la protection XOM.
Le payload doit être lancé à travers elfldr, le chargeur de payloads utilisé dans l'écosystème PS5. Cette dépendance est importante : le code doit pouvoir poursuivre son exécution après la sortie du mode repos.
Autre particularité, le payload doit distinguer les modèles PS5 classiques des PS5 Pro. Sony ayant organisé différemment la mémoire physique de l'hyperviseur sur la version Pro, les adresses utilisées ne sont pas identiques :
PS5 classique : 0x062800000
PS5 Pro : 0x8E0800000
Le développeur invite les utilisateurs qui constateraient une mauvaise identification de leur console à ouvrir un ticket en précisant la valeur hexadécimale affichée dans la notification.
Enfin, si la console s'éteint au moment de sortir du mode repos, cela signifie que l'exploitation a échoué. Le développeur estime que le mécanisme est très stable dans les configurations prises en charge, tout en précisant que certaines situations peuvent rester incompatibles.
Comment utiliser Byepervisor Reborn ?
Le fonctionnement prévu nécessite déjà une chaîne d'exploitation permettant d'obtenir un accès au noyau et de lancer elfldr. Les grandes étapes sont les suivantes :
Exécuter la chaîne d'exploitation du noyau jusqu'au lancement d'elfldr.
Envoyer le payload byepervisor.elf.
Suivre les instructions affichées dans les notifications de la console.
Il peut également être nécessaire de configurer l'alimentation des ports USB sur « Toujours » dans les paramètres d'économie d'énergie, afin de garantir les conditions nécessaires au fonctionnement lors de la reprise.
Il ne s'agit donc pas d'un exploit autonome : Byepervisor Reborn intervient à une étape avancée de la chaîne d'exploitation et ne fournit pas les éléments nécessaires pour obtenir à lui seul un jailbreak complet.
Conclusion
Avec Byepervisor Reborn, ChendoChap met à disposition des développeurs une nouvelle base d'exploitation de l'hyperviseur PS5, reposant sur une vulnérabilité déclenchée lors de la sortie du mode repos. La prise en charge annoncée des firmwares 13.00, 13.20 et 13.60 en fait une piste intéressante pour les recherches autour du noyau et des protections mémoire de la console.
Il reste néanmoins essentiel de distinguer cette avancée technique d'un jailbreak directement utilisable : aucun HEN ni patch prêt à l'emploi n'est inclus, et le projet nécessite déjà un environnement d'exploitation fonctionnel. Le dernier commit de ChendoChap concerne la documentation technique de la vulnérabilité.