Gestionamos un foro de Discourse y recibimos un informe externo que alegaba una vulnerabilidad de inyección de código almacenado a través del mecanismo onebox / allowed_onebox_iframes. Antes de tomar medidas, me gustaría contar con la ayuda de la comunidad/equipo para confirmar si el comportamiento descrito es realmente posible en la versión actual de Discourse.
El informe afirma:
- Discourse genera oneboxes de una URL sin formato en su propia línea e incrusta el
twitter:playerde la página como un iframe para todos los espectadores. - La coincidencia de origen para la lista blanca de iframes es “solo por prefijo”, por lo que un host como
www.youtube.com.attacker.examplesería aceptado como una incrustación legítima de YouTube mientras sirve HTML controlado por el atacante. - La configuración predeterminada de
allowed_onebox_iframeses efectivamente un comodín.
Mi entendimiento es que (a) Discourse coincide los hosts de iframes en la lista blanca basándose en los límites de dominio en lugar de un prefijo simple, y (b) la lista blanca predeterminada de iframes onebox es una lista curada de proveedores, no *. ¿Puede alguien confirmar cómo funciona la coincidencia de hosts para allowed_onebox_iframes en la versión actual, y si un truco de sufijo de subdominio como el descrito podría pasar realmente la validación?
Estamos usando la versión de Discourse v2026.8.0-latest. Estamos dispuestos a compartir el informe sin procesar de forma privada con el equipo de seguridad si resulta útil.
Gracias.