Nul besoin de vous rappeler que TheFlow a présenté hier soir ce qui est une partie de ses travaux sur la PS5 (et par ricochet sur la PS4, et même sur PS3). Le développeur de talent a en effet dévoilé pas moins de 5 vulnérabilités qui une fois enchaînées permettent à un utilisateur d'obtenir des capacités JIT, et ainsi l'exécution de payloads.
Le payload fourni déclenche alors un débordement de la mémoire tampon qui provoque alors un kernel panic. Chaque vulnérabilité présentée est à considérer comme individuelle et est décrite ci-dessous selon la console. Le tout a été dévoilé comme nous en informe TheFlow sur l'un de ces slides en parallèle sur
Hackerone.
[MOYEN] [PS4] [PS5] Vulnérabilité 1
Cette première vulnérabilité implique le remplacement d'un fichier par un objet qui va donner des autorisations et contourner le gestionnaire de sécurité.
[MOYEN][PS4] Vulnérabilité 2
La seconde vulnérabilité consiste à appeler une classe arbitraire, cela permet d'insister sur les classements avec un certains nombres de commandes sur le fonctionnement et d'appliquer des arguments uniques.
[MOYEN] [PS4] [PS5] Vulnérabilité 3
Cette 3eme vulnérabilité provoque un contournement de la vérification des autorisations. Cela passe par une méthode qui passe par un attaquant de sous-classe d'une cible qui implémente une interface, TheFlow montre le code pour lancer l'attaquant et contourner les sécurités de l'objet. Cette vulnérabilité peut être utilisée pour divulguer la structure du système de fichiers ainsi que pour dumper des fichiers (par exemple à partir de /app0/).
[ÉLEVÉ][PS4] Vulnérabilité 4
Le "thread récepteur du compilateur" reçoit une structure de taille 0x58 octets du processus d'exécution :
Cette structure contient un pointeur à l'offset 0x38 (nous l'appelons compiler_data) du processus du compilateur qui est utilisé pour effectuer une sauvegarde de la structure de la requête. Un attaquant peut simplement envoyer un pointeur et le thread récepteur du compilateur copiera les données de la requête dans sa mémoire. En d'autres termes, nous avons une primitive d'écriture "write-what-where" . Un attaquant peut exploiter cette vulnérabilité en fournissant un pointeur vers la mémoire JIT et stocker le contenu à écrire dans la requête. Le compilateur écrira ces données dans la mémoire JIT et nous donnera donc la possibilité d'exécuter des payloads.
Cela a de graves conséquences :
Un chargeur ELF peut être écrit pour charger et exécuter des jeux piratés .
L'exploitation du kernel devient possible car il n'y a pas de SMEP et on peut simplement passer à l'utilisateur avec un pointeur de fonction corrompu.
[ÉLEVÉ][PS4] [PS5] Vulnérabilité 5
Le pilote UDF
https://github.com/williamdevries/UDF est utilisé sur la PS4 et la PS5 qui contient un débordement de mémoire buffer . Un attaquant peut rendre la taille inf_len supérieure à sector_size (l'hypothèse de l'allocation interne est que les données sont plus petites que la taille du secteur) et provoquer un débordement avec memcpy().
La preuve d'exécution de cette chaîne d'exploitation a été compilée par TheFlow sur un fichier ISO et placée sur un BD-JB gravé en UDF 2.5 qui regroupe les vulnérabilités de 1 à 4 donnant ainsi la possibilité d'exécuter les payloads. Une fois le Bluray inséré, il vous sera possible d'envoyer un payload en utilisant nc $PS4IP 1337 < payload.bin , le payload provoquera un kernel panic si vous impliquez la vulnérabilité 5, sur le firmware 9.00 de la PS4.
Avec ces vulnérabilités, il est possible de lancer des jeux piratés sur des disques bluray . Cela est possible même sans un exploit du kernel car nous avons accès à des capacités JIT. Cependant TheFlow a précisé que "sans un kernel exploit, vous ne pourrez pas exécuter de jeux piratés (qui auraient fonctionné sur la PS4 uniquement de toute façon), car nous n'avons pas assez de RAM dans le processus bd-j et il y a quelques autres contraintes".
![](http://www.logic-sunrise.com/images/validation/in-1134371805.png)
L'intention de TheFlow n'est pas de dévoiler comment parvenir aux debugs settings, il est d'ailleurs fort probable qu'ils disposent de ces accès avec d'autres failles, il insiste sur le fait que ces vulnérabilités liées aux bluray ont des avantages par rapport à un exploit webkit car elles fonctionnent sur la PS4 et la PS5, qu'elles sont fiables à 100%, qu'elles sont agnostique par rapport au firmware puisque l'exécution du code se fait sans ROP, que la surface d'attaque kernel est plus grande, que l'accès au JIT permet d'exécution des paylaods et qu'il ne reste plus qu'à écrire un exploit du kernel en C pour en bénéficier (uniquement sur PS4).
![](http://www.logic-sunrise.com/images/validation/in-1096246584.jpg)
Le travail de TheFlow une fois de plus est exceptionnel, laissons le temps faire son oeuvre, il a rajouté que sa présentation sera montrée en vidéo dans quelques jours, qu'il a utilisé un BD-RE Verbatim, et que pour la petite histoire cela ne fonctionne pas avec un DVD-RE. A noter que ces vulnérabilités ont été corrigées
à partir du firmware 9.50 sur PS4 et 5.00 sur PS5.