Les développeurs Mehdi Talbi et Quentin Meffre viennent de dévoiler leur faille du webkit sous le firmware 6.xx sur une PS4 lors d'une conférence à la BlackHat qui s'est tenue durant les 3 derniers jours, et qui ferme ses portes ce soir.
Ces deux développeurs ( 0xdagger et abu_y0ussef) ont expliqué comment ils ont réussi à trouver une faille WebKit 0-day sur le firmware 6.xx, rappelant que le navigateur webkit est généralement exposé comme un point d'entrée d'une attaque complète du kernel, affirmant que le bug qu'ils ont trouvé fournit des primitives d'exploitation limitées, mais ils mettent aussi en avant qu'il a pu être trouvé grâce à des faiblesses sécuritaires dans le mécanisme ASLR.
Le bug utilisé est présent dans le moteur DOM du navigateur, plus précisément il est présent dans le call WebCore::ValidationMessage::buildBubbleTree. Les développeurs WebKit ont identifié que des problèmes peuvent survenir lors de la mise à jour du style ou de la mise en page.
En fait, pour parler simplement, les deux développeurs ont analysé le code et la correction du bug, et ensuite ont tenté de débuguer le bug pour rendre un objet vulnérable.
L'exploit a été publié ici : PS4-webkit-exploit-6.XX
Le portage sur un firmware 7.xx ?
Ils ont réussi à exploiter notre bug sur le firmware 6.xx grâce au manque de sécurité sur l'ASLR qui a permis de prédire l'adresse des objets HTML. L'adresse prévisible est codée en dur dans l'exploit et a été identifiée grâce à l'exploit "bad-hoist". Cependant, sans connaissance préalable sur le mappage de la mémoire, la seule façon de déterminer l'adresse de nos objets HTMLElement pulvérisés est de forcer cette adresse.
Pour pouvoir continuer leur recherche, il faudra utiliser la force brute mais l'utilisation de celle-ci sur PS4 est fastidieuse car elle demande une interaction avec l'utilisateur, car le navigateur crashe toutes les 5 secondes, l'idée est pouvoir utiliser à terme un Raspberry Pi pour stocker l'adressage multiple de la force brute dans un cookie et ainsi progresser sur un éventuel hack du 7.xx.
Tout est là : synacktiv.com