Analyse et exploitation des vulnérabilités de sécurité de la valeur Sentinel du moteur Chrome V8

Analyse de la valeur Sentinel dans le moteur V8 de Google Chrome et ses risques de sécurité

La valeur Sentinel est une valeur spéciale dans les algorithmes, souvent utilisée comme condition d'arrêt dans les boucles ou la récursion. Le code source de Chrome contient plusieurs valeurs Sentinel, dont certaines, si elles sont divulguées dans l'environnement JavaScript, peuvent poser des problèmes de sécurité. Cet article explorera les méthodes pour contourner le mécanisme HardenProtect de Chrome V8 en utilisant des objets Uninitialized Oddball divulgués.

Valeur Sentinel dans V8

Le fichier roots.h du code source V8 définit de nombreux objets natifs qui sont disposés en mémoire de manière séquentielle. Si ces objets natifs, qui ne devraient pas être exposés à JavaScript, sont divulgués, cela pourrait entraîner une évasion de sandbox. La fuite de l'objet TheHole est un exemple typique.

Pour vérifier le problème dans la dernière version de V8, vous pouvez modifier la fonction %TheHole() pour qu'elle retourne un objet Uninitialized Oddball :

javascript print(%DebugPrint(%TheHole())); // Sortie: Valeur non initialisée

Révélation exclusive sur la façon de contourner le HardenProtect de Chrome v8 en divulguant la valeur Sentinel

Contourner la protection HardenType

Utiliser Uninitialized Oddball pour construire le code PoC suivant permettant une lecture arbitraire :

javascript function read(obj, idx) { return obj[idx]; }

let uninitialized = %TheHole(); let arr = [1.1]; %PréparerFonctionPourOptimisation(lire); lire(arr, 0); lire(arr, 0); %OptimiserFonctionSurProchaineAppel(lire); lire(arr, 0);

print(lire(non initialisé, 0x1234n));

Révélation exclusive sur la contournement de Chrome v8 HardenProtect par la fuite de Sentinel Value

La fonction read optimisée par désassemblage montre qu'elle ne vérifie pas strictement le type de valeur de obj.prop, calculant directement le décalage en fonction de la sémantique JavaScript et retournant un élément de tableau, ce qui entraîne une confusion de type permettant une lecture arbitraire.

Révélation exclusive sur le contournement de Chrome v8 HardenProtect via la fuite de Sentinel Value

La solution recommandée consiste à ajouter une vérification du tableau map lorsque la fonction optimisée renvoie des éléments du tableau, afin d'éviter de calculer directement la valeur de retour d'offset.

Révélation exclusive sur la façon de contourner Chrome v8 HardenProtect via la fuite de Sentinel Value

Alerte de risque PatchGap

L'analyse a révélé que certains logiciels comme Skype pourraient présenter un problème de PatchGap, qui n'a pas encore été corrigé. Les hackers pourraient exploiter cette vulnérabilité pour réaliser une chaîne d'exploitation complète en peu de temps.

Révélation exclusive sur la façon de contourner Chrome v8 HardenProtect via la fuite de la valeur Sentinel

De plus, après la publication de nouvelles méthodes de contournement, la difficulté d'exploitation de certaines vulnérabilités historiques ( telles que l'Issue1314616 et l'Issue1216437) a considérablement diminué. Il est conseillé aux fabricants de réévaluer les risques de sécurité liés à ces vulnérabilités.

Révélation exclusive sur le contournement de Chrome v8 HardenProtect via la fuite de la valeur Sentinel

Révélation exclusive sur le contournement de Chrome v8 HardenProtect grâce à la fuite de la valeur Sentinel

Résumé

Il y a encore de nombreuses autres valeurs Sentinel dans V8 qui méritent d'être étudiées davantage. Il est conseillé d'envisager d'ajouter des variables telles que %TheHole/Uninitialized_Oddball dans le Fuzzer pour découvrir de nouveaux primitives d'exploitation. Peu importe si ce type de problème est officiellement classé comme un problème de sécurité, cela pourrait considérablement raccourcir le cycle d'exploitation complet des hackers.

Révélation exclusive sur la façon de contourner Chrome v8 HardenProtect en exploitant la valeur Sentinel

Révélation exclusive sur la manière de contourner Chrome v8 HardenProtect en divulguant la valeur Sentinel

SENC10.69%
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • 5
  • Reposter
  • Partager
Commentaire
0/400
ParanoiaKingvip
· Il y a 13h
Encore un danger caché.
Voir l'originalRépondre0
WenMoon42vip
· Il y a 13h
Encore des études de profondeur.
Voir l'originalRépondre0
CryptoSourGrapevip
· Il y a 13h
Il y a en fait des pièges ici aussi.
Voir l'originalRépondre0
ForkItAllDayvip
· Il y a 13h
Une nouvelle approche de débordement de pile
Voir l'originalRépondre0
Fren_Not_Foodvip
· Il y a 13h
C'est trop excitant de contourner les failles.
Voir l'originalRépondre0
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)