[PS5] Le write-up sur l'exploit hyperviseur documentée autour de la reprise S3

579 visiteurs sur le site | S'incrire

Accédez aux coordonnées de l’ensemble des techniciens professionnels recommandés par logic-sunrise 20 derniers dossiers et tutoriaux
Playstation 3 / 4
[PS5] Le write-up sur l'exploit hyperviseur documentée autour de la reprise S3
Le développeur soniciso1 a mis en ligne hier soir son write-up sur ps5-hv-writeups, une nouvelle analyse technique consacrée à khv_startup_mp, une vulnérabilité liée à la reprise après mise en veille S3 de la PlayStation 5, pour résumer il explique comment fonctione l'exploit hyperviseur qui vient d'être dévoilé (avant sa diffusion). Cette découverte met en évidence un défaut dans la gestion du démarrage des processeurs secondaires (AP), susceptible de compromettre le kernel du GameOS déjà compromis de franchir une frontière de sécurité majeure : celle séparant GameOS de la mémoire de l’hyperviseur.
 
 
 
 
Une fenêtre d’exécution pendant la reprise de la console
 
Le problème concerne l’hyperappel 0x0f, identifié comme khv_startup_mp. Celui-ci permet de démarrer un processeur secondaire en lui fournissant notamment une adresse d’exécution RIP et une racine de pagination CR3. En fonctionnement normal, l’hyperviseur de la PS5 utilise deux racines de pagination imbriquées (NPT) afin d’isoler GameOS de sa propre mémoire. La racine 0 correspond à la vue de l’hôte, dans laquelle la mémoire de l’hyperviseur et les structures VMCB sont accessibles. La racine 1 constitue la vue restreinte destinée à GameOS.
 
La vulnérabilité apparaît au moment de la reprise S3. Après la réinitialisation de l’état des processeurs, l’hyperviseur remet à zéro le bitmap contrôlant les démarrages des processeurs secondaires. Le processeur principal (BSP) reprend alors son activité et retrouve la racine de pagination de GameOS, tandis que les autres processeurs (AP) peuvent encore rester sur la racine 0.
 
Durant cette courte fenêtre, l’hyperappel de démarrage demeure accessible et accepte les paramètres fournis par le kernel invité. Le kernel compromis peut alors déclencher le démarrage d’un processeur secondaire avec une adresse RIP et un CR3 choisis par l’attaquant. Le point essentiel est que ce processeur peut commencer à exécuter du code sans effectuer la transition attendue vers la racine NPT de GameOS. Il conserve ainsi une vue mémoire correspondant à celle de l’hyperviseur, ouvrant potentiellement l’accès à des structures internes normalement protégées.
 
La documentation ne se limite pas à une analyse théorique. Elle décrit une preuve de concept capable d’exploiter cette fenêtre de reprise et de parcourir les structures internes de l’hyperviseur (qui a résulté sur sa diffusion depuis cette nuit).
 
La charge utile identifie notamment les VMCB actifs des seize processeurs logiques de la console. Ces structures contiennent l’état nécessaire à l’exécution des machines virtuelles, notamment les paramètres de pagination imbriquée qui participent à l’isolation entre GameOS et l’hyperviseur.
 
Pour valider sa primitive d’accès mémoire, la preuve de concept effectue une opération de lecture, d’écriture puis de restauration sur un champ réservé de chaque VMCB. Elle vérifie ensuite que les seize restaurations ont bien été réalisées.
 
Les champs qui définissent directement la pagination imbriquée sont volontairement laissés intacts pendant cette démonstration. L'objectif est de confirmer la capacité d'accès aux structures protégées sans modifier les paramètres fondamentaux de l'isolation.
 
L'exploitation nécessite également une synchronisation très précise. Le développeur décrit l'utilisation d'un point d'arrêt de débogage pendant la reprise, après la restauration du contexte mais avant le réveil normal des processeurs secondaires.
 
Le firmware 13.60 également concerné par le mécanisme 
 
L'analyse indique que le mécanisme étudié reste présent dans le firmware PS5 13.60. Plusieurs éléments internes liés au démarrage des processeurs secondaires et à la table de correspondance du BIOS sont identiques à ceux examinés dans la version initialement étudiée. Attention toutefois : cela ne signifie pas que la preuve de concept existante est directement compatible avec le firmware 13.60. Des différences dans les décalages mémoire et la géométrie des allocations imposent un travail d'adaptation, notamment pour retrouver correctement les adresses nécessaires à l'exploitation.
 
Il faut donc distinguer deux éléments : le mécanisme vulnérable semble toujours présent, mais le portage de la preuve de concept nécessite des ajustements spécifiques au firmware.
 
Quelles conséquences pour le hack PS5 ?
 
Cette découverte est intéressante pour la scène PlayStation 5, car elle concerne directement une frontière de sécurité située au-dessus du noyau GameOS. Un accès à la mémoire de l'hyperviseur pourrait offrir des possibilités supplémentaires dans le cadre de recherches avancées sur le contrôle de la console.
 
Cependant, il ne s'agit pas d'un exploit permettant à n'importe quel utilisateur de lancer du code non signé à partir d'une PS5 standard. La démonstration suppose déjà une compromission du noyau GameOS, avec des capacités de lecture et d'écriture mémoire ainsi que la possibilité de déclencher des appels noyau ou une chaîne ROP.
 
Cette distinction est importante : la faille constitue une primitive d'escalade après compromission, et non un point d'entrée initial permettant à elle seule de jailbreaker une console à jour.
 
Une correction centrée sur la reprise S3
 
Plusieurs pistes de correction sont proposées dans la documentation :
- Éviter de réinitialiser ou de rouvrir la fenêtre de démarrage des processeurs secondaires après que GameOS a pris le contrôle de cette phase.
- Restreindre l'hyperappel 0x0f à une procédure de reprise authentifiée et contrôlée par l'hyperviseur.
- Ne plus accepter librement les adresses RIP et CR3 fournies par le système invité redémarré.
- Attribuer la bonne racine NPT à chaque processeur secondaire avant de lui transférer le contrôle.
- Renforcer la protection de la mémoire de l'hyperviseur et des structures VMCB contre les accès provenant des processeurs eux-mêmes.
 
La publication de soniciso1 apporte ainsi un nouvel éclairage sur les mécanismes internes de sécurité de la PS5. Elle démontre surtout qu'une transition de veille apparemment anodine peut créer une fenêtre d'exécution dangereuse lorsque plusieurs mécanismes de protection ne sont pas synchronisés.
 
Source : ps5-hv-writeups – s3-resume-startup_mp-ap-launch.md
 
Mardi 13 Octobre 2026, 11:23 par tralala
Source : github.com/soniciso1/ps5-hv-writeups/
Envoyer