J'ai reçu un rapport de bug affirmant qu'il y a un contournement de la liste blanche des iframes onebox, quelqu'un peut-il aider à vérifier ?

Nous exploitons un forum Discourse et avons reçu un rapport externe signalant une vulnérabilité d’injection de code stocké via le mécanisme onebox / allowed_onebox_iframes. Avant de prendre des mesures, je souhaiterais obtenir l’aide de la communauté/de l’équipe pour confirmer si le comportement décrit est réellement possible sur les versions actuelles de Discourse.

Le rapport affirme que :

  • Discourse transforme en onebox une URL brute sur sa propre ligne et intègre le twitter:player de la page sous forme d’iframe pour tous les visiteurs.
  • La correspondance d’origine pour la liste blanche des iframes est « basée uniquement sur le préfixe », si bien qu’un hôte comme www.youtube.com.attacker.example serait accepté comme une intégration YouTube légitime tout en servant du HTML contrôlé par l’attaquant.
  • La valeur par défaut de allowed_onebox_iframes agit comme un joker.

Ma compréhension est que (a) Discourse compare les hôtes des iframes de la liste blanche sur la base de la limite de domaine plutôt que sur un simple préfixe, et que (b) la liste blanche par défaut des iframes onebox est une liste de fournisseurs soigneusement sélectionnée, et non *. Quelqu’un peut-il confirmer comment fonctionne la correspondance des hôtes pour allowed_onebox_iframes dans la version actuelle, et si une astuce de suffixe de sous-domaine comme celle décrite pourrait réellement passer la validation ?

Nous utilisons la version Discourse v2026.8.0-latest. Nous sommes heureux de partager le rapport brut en privé avec l’équipe de sécurité si cela s’avère utile.

Merci.

Je suis sceptique quant au fait qu’il s’agisse d’un rapport de sécurité LLM provenant d’un pipeline incomplet.

Un pipeline de sécurité LLM pleinement développé aurait d’abord élaboré une théorie, puis installé Discourse dans un environnement de test, configuré les paramètres de site problématiques, et démontré le problème dans ce contexte. Cela ne semble pas avoir été fait, et ils sont passés directement de la théorie à l’envoi du rapport.

Bonjour @Saurabh1,

Je peux confirmer que la vulnérabilité est réelle et nous avons une correction en cours de traitement.

Une correction pour ce problème est incluse dans July 31st 2026 intermediate releases