Nós administramos um fórum Discourse e recebemos um relatório externo alegando uma vulnerabilidade de injeção de código armazenada via o mecanismo onebox / allowed_onebox_iframes. Antes de agir sobre isso, gostaria da ajuda da comunidade/equipe para confirmar se o comportamento descrito é realmente possível no Discourse atual.
O relatório alega:
- O Discourse cria oneboxes de URLs soltas em sua própria linha e incorpora o
twitter:playerda página como um iframe para todos os espectadores. - A correspondência de origem para a lista de permissões de iframes é “apenas prefixo”, então um host como
www.youtube.com.attacker.exampleseria aceito como uma incorporação legítima do YouTube, enquanto serve HTML controlado pelo atacante. - O
allowed_onebox_iframespadrão é efetivamente um curinga.
Minha compreensão é que (a) o Discourse corresponde hosts de iframes na lista de permissões com base em limites de domínio, e não em um prefixo simples, e (b) a lista de permissões padrão de iframes onebox é uma lista curada de provedores, não *. Alguém pode confirmar como funciona a correspondência de hosts para allowed_onebox_iframes na versão atual, e se um truque de sufixo de subdomínio como o descrito poderia realmente passar pela validação?
Estamos na versão do Discourse v2026.8.0-latest. Felizes em compartilhar o relatório bruto privativamente com a equipe de segurança, se for útil.
Obrigado.