Risques de sécurité liés à la fuite de valeur Sentinel du moteur V8 contournant HardenProtect

Risque de sécurité dû à la fuite de valeur Sentinel dans le moteur Chrome V8

La valeur sentinel est une valeur spéciale dans les algorithmes, souvent utilisée comme condition d'arrêt pour les algorithmes de boucle ou de récursion. Dans le code source de Chrome, il existe plusieurs valeurs sentinel, dont certains objets ne devraient pas être divulgués dans l'environnement JavaScript. Cet article explorera comment exploiter la fuite d'objets Oddball non initialisés pour contourner le mécanisme HardenProtect du moteur Chrome V8.

Valeur Sentinel dans V8

La plupart des objets natifs de V8 sont définis dans le fichier v8/src/roots/roots.h, et ces objets sont disposés de manière adjacente en mémoire. Une fois que ces objets natifs, qui ne devraient pas être exposés à JavaScript, sont divulgués, cela peut entraîner l'exécution de code arbitraire dans le bac à sable.

Nous pouvons exposer Uninitialized Oddball dans JavaScript en modifiant la fonction native de V8. Par exemple, en modifiant le décalage de la fonction %TheHole() pour qu'elle retourne l'objet Uninitialized Oddball.

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

Contournement de la protection HardenType

En utilisant des objets Oddball non initialisés divulgués, il est possible de construire le code suivant pour réaliser une lecture relativement arbitraire :

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

let arr = [1.1, 2.2, 3.3]; let uninitialized_oddball = %TheHole();

for (let i = 0; i < 100000; i++) { lire(arr, 0);
}

%OptimizeFunctionOnNextCall(lire);

let result = read(uninitialized_oddball, 0x12345); %DebugPrint(résultat);

Le code d'assemblage de la fonction read optimisée montre qu'il n'y a pas de vérification du type de valeur de obj.prop lors du calcul du décalage du tableau, ce qui entraîne une confusion de type et permet une lecture arbitraire.

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

La suggestion de correction est d'ajouter une vérification du tableau map lors du retour des éléments du tableau dans la fonction optimisée, afin d'éviter de calculer directement la valeur de retour de l'offset.

Révélation exclusive sur la manière de contourner Chrome v8 HardenProtect grâce à la fuite de la valeur Sentinel

Alerte de risque PatchGap

Cette vulnérabilité n'est toujours pas corrigée dans certains logiciels utilisant l'ancienne version du moteur V8, tels que Skype(. Sur la plateforme x86, en raison de l'absence de compression d'adresse, la lecture et l'écriture arbitraires peuvent être effectuées directement par rapport à l'ensemble du processus.

La publication de cette nouvelle méthode d'évitement a réduit la difficulté d'exploitation des vulnérabilités associées. Les hackers peuvent presque compléter l'exploitation complète de la vulnérabilité Uninitialized Oddball sans avoir besoin de faire des recherches supplémentaires.

![Révélation exclusive sur la façon de contourner Chrome v8 HardenProtect en exploitant la valeur Sentinel])https://img-cdn.gateio.im/webp-social/moments-1e3fda77c04bceafdcc40413824a5d37.webp(

Résumé

Il existe également d'autres valeurs Sentinel dans V8 qui pourraient entraîner des problèmes de sécurité similaires. Il est conseillé de mener des recherches supplémentaires :

  1. D'autres fuites d'Uninitialized Oddball peuvent-elles également permettre une exécution de code à distance (RCE) dans V8 ?
  2. Devrait-on classer ce type de problème comme une vulnérabilité de sécurité ?
  3. Est-il nécessaire d'inclure la valeur Sentinel en tant que variable dans les tests Fuzzer ?

Quoi qu'il en soit, ce type de problème réduira considérablement le temps nécessaire aux hackers pour exploiter pleinement, ce qui mérite une attention particulière.

![Révélation exclusive sur la façon de contourner Chrome v8 HardenProtect via la fuite de la valeur Sentinel])https://img-cdn.gateio.im/webp-social/moments-ed89289bebf59d4b27f5bffb5511a8c5.webp(

![Révélation exclusive sur la façon de contourner Chrome v8 HardenProtect en divulguant la valeur Sentinel])https://img-cdn.gateio.im/webp-social/moments-0e52075003a8ee2ca492a5fc9f35c36b.webp(

![Révélation exclusive sur le contournement de Chrome v8 HardenProtect grâce à la fuite de la valeur Sentinel])https://img-cdn.gateio.im/webp-social/moments-230537e420d579aabd89bdd168b20878.webp(

![Révélation exclusive sur la contournement de Chrome v8 HardenProtect via la fuite de Sentinel Value])https://img-cdn.gateio.im/webp-social/moments-506159c94c9e0988552cbcbd13d971e1.webp(

![Révélations exclusives sur le contournement de Chrome v8 HardenProtect via la fuite de Sentinel Value])https://img-cdn.gateio.im/webp-social/moments-e9e2000fd501b69ee3ee643a459a26dd.webp(

SENC-0.28%
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
  • 6
  • Partager
Commentaire
0/400
GateUser-bd883c58vip
· 08-04 04:05
Cette vulnérabilité est tellement hardcore que ça fait un peu peur.
Voir l'originalRépondre0
SerumDegenvip
· 08-02 17:19
gm frens... une autre fuite d'alpha repérée dans v8, nous sommes tous rekt
Voir l'originalRépondre0
ThatsNotARugPullvip
· 08-02 17:19
Cette poêle Chrome, porte-la, les gens t'ont déjà montré le trou.
Voir l'originalRépondre0
RektButStillHerevip
· 08-02 17:09
Pourquoi la protection sandbox est-elle si mauvaise ?
Voir l'originalRépondre0
CryptoNomicsvip
· 08-02 17:01
*soupir* un autre exploit prouvant que mon analyse de régression sur le modèle de sécurité de chrome était statistiquement significative... pourtant personne n'a écouté
Voir l'originalRépondre0
MetaverseHobovip
· 08-02 16:58
Ce bug est vraiment incroyable, il va directement To the moon.
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)