Une faille de sécurité récemment corrigée dans les navigateurs Chromium a permis aux attaquants de contourner les protections contre l’injection de balisage pendant, une attaque qui extrait des informations sensibles des pages Web.
Bien que l’injection de balisage suspendu soit bien connue et traitée dans les navigateurs Chromium, le nouvelle attaque a profité d’un cas non résolu dans la façon dont le navigateur met à niveau les connexions HTTP non sécurisées.
Extraction de balisage sensible
L’injection de balisage suspendu capture des données inter-domaines dans des situations où les attaques de script intersite complet (XSS) ne sont pas possibles.
Si une application ne nettoie pas les données fournies par l’utilisateur avant de les intégrer dans le balisage, un attaquant peut en profiter pour forcer la page à envoyer une partie du balisage de la page à son propre serveur.
Par exemple, l’attaquant peut injecter un balisage HTML qui inclut une balise spécialement conçue
L’équipe Chromium a été correction des bogues d’injection de balisage pendants depuis 2017 et a ajouté des restrictions pour échapper ou supprimer le balisage HTML inséré dans les chaînes d’URL.
Connexion sécurisée, balisage non sécurisé
Chromium possède également une autre fonctionnalité de sécurité qui met à niveau les protocoles HTTP non sécurisés utilisés dans le balisage HTML.
Par exemple, si l’attribut src d’un
SeungJu Oh, le chercheur en sécurité qui a signalé le nouveau bogue, a découvert que lorsque le navigateur met à niveau une URL dans la page de HTTP à HTTPS, il contourne les protections d’injection de balisage pendantes.
Par conséquent, si un attaquant fournit une chaîne d’injection de balisage en suspens qui utilise le schéma HTTP, il ne passera pas par le processus de nettoyage d’injection de balisage en suspens lorsque l’URL est mise à niveau vers HTTPS.
Oh a fourni une preuve de concept avec un
« Cela permet aux attaquants d’obtenir des informations personnelles en divulguant le contenu de l’utilisateur lorsque [the] le script n’est pas disponible en raison d’éléments de sécurité tels que CSP », écrit Oh.
Selon le fil de conversation de la plate-forme de rapport de bogue Chromium, la fonction qui bascule le protocole d’URL sur HTTPS fait que l’indicateur de balisage suspendu devient faux, ce qui contourne les contrôles de sécurité sur la chaîne d’URL. Le bogue a été corrigé dans la nouvelle version des navigateurs basés sur Chromium.
Les résultats soulignent en outre la nécessité de nettoyer les entrées des utilisateurs avant de les intégrer dans le balisage.
C’est aussi un rappel de la complexité de la gestion de la sécurité des produits qui comportent de nombreuses pièces mobiles.
Parfois, un correctif de sécurité dans une partie du programme peut briser les protections dans une autre, comme le montre la dernière vulnérabilité d’injection de balisage pendante de Chromium.