1 points par GN⁺ 2024-10-18 | 1 commentaires | Partager sur WhatsApp

Introduction

  • Ce billet de blog explique le processus de découverte des vulnérabilités CVE-2024-6778 et CVE-2024-5836 dans le navigateur web Chromium.
  • Ces vulnérabilités permettent de s’échapper de la sandbox via une extension de navigateur.
  • Google a versé 20 000 $ pour ce rapport de bug.

WebUI et la sandbox de Chrome

  • Chromium exécute le code non fiable dans un environnement sandbox afin de n’autoriser que des interactions limitées.
  • WebUI est utilisé pour afficher l’interface graphique de Chromium et dispose des autorisations nécessaires pour accéder à certaines API internes.
  • Le code exécuté sur une page WebUI peut contourner la sandbox, ce qu’un attaquant peut exploiter.

Politiques d’entreprise

  • Le système de politiques d’entreprise de Chromium sert à imposer certains paramètres sur les appareils appartenant à une entreprise ou à un établissement scolaire.
  • Les politiques utilisateur s’appliquent à un utilisateur spécifique ou à une instance donnée du navigateur, et peuvent être définies localement.

WebUI des politiques

  • Chromium dispose d’un WebUI permettant de voir les politiques actuellement appliquées à l’appareil.
  • Cette page contient une fonctionnalité non officielle permettant de modifier les politiques.

Exploitation de la page de test des politiques

  • Les notes de version de Chrome v117 mentionnaient une page de test des politiques.
  • Cette page fournit un moyen non officiel de définir des politiques.

Évasion de la sandbox

  • Il est possible de s’échapper de la sandbox en abusant de la possibilité de définir des politiques utilisateur arbitraires.
  • La fonctionnalité de browser switcher permet d’exécuter des commandes shell arbitraires.

Abus de l’API DevTools

  • Une méthode a été trouvée pour exécuter automatiquement du JS sur la page chrome://policy via une extension Chrome malveillante.
  • L’API chrome.devtools.inspectedWindow.reload() permet d’exécuter du code sur une page WebUI.

Conclusion

  • Cela montre que l’accumulation d’erreurs simples peut conduire à une vulnérabilité de haute gravité.
  • Un ancien code n’est pas toujours sûr, et il faut envisager la possibilité de bugs similaires.

Résumé de GN⁺

  • Ce billet de blog décrit en détail le processus de découverte et de signalement d’une vulnérabilité dans Chromium.
  • La vulnérabilité permet de s’échapper de la sandbox via une extension de navigateur, et a valu une récompense de 20 000 $ de la part de Google.
  • Cet article fournit des informations utiles aux chercheurs en sécurité et aux ingénieurs logiciel, ainsi que des enseignements pour prévenir des vulnérabilités similaires.
  • Parmi d’autres projets dotés de fonctionnalités comparables, on peut recommander les mécanismes de sécurité de Firefox.

1 commentaires

 
GN⁺ 2024-10-18
Avis sur Hacker News
  • Cela rappelle une expérience où, en déboguant le shell « crosh » de Chrome OS, les mêmes API avaient permis de contourner les protections de l’OS et d’obtenir un accès root. L’auteur de cet article a surmonté des obstacles encore plus difficiles. Excellent travail

  • Pour éviter qu’une URL de page soit remplacée par ${url}, on peut la placer après un # pour en faire un commentaire. Je me demande s’il existe une logique de validation pour vérifier si une URL doit être transmise à AlternativeBrowserParameters

  • Excellent article et excellent travail. On a pu ressentir avec l’auteur l’excitation de la découverte. Une récompense bien méritée

  • Superbe chaîne de vulnérabilités et excellent article. L’analyse du code vulnérable était aussi très bonne. Je suis toujours impressionné par des astuces simples comme « appuyez sur F12 pour réessayer »

  • Il est trop tard pour approfondir les problèmes de validation de WebUI, mais bravo à la personne qui a résolu celui-ci. Il est courant de soupçonner et de se méfier de la chaîne d’outils pour ce que nous déployons, mais en même temps nous accordons trop de confiance aux outils de développement pratiques de grands groupes comme Google ou MS. Principalement parce que nous voulons nous concentrer sur l’écriture et les tests de notre propre code

  • Vraiment l’une des meilleures choses que j’aie lues. Un travail d’enquête extrêmement intelligent

  • Allen, un lycéen, s’intéresse à la programmation, au développement web et à la cybersécurité. C’est très impressionnant

  • Le projet Chromium a décidé de supprimer chrome://net-internals au motif que la page était trop complexe. Puis il a ajouté chrome://policy avec un support inachevé de l’édition JSON

  • Un texte vraiment formidable, qui donnait l’impression de lire un thriller. Une excellente chaîne de vulnérabilités