Gestiamo un forum Discourse e abbiamo ricevuto una segnalazione esterna che afferma l’esistenza di una vulnerabilità di injection di codice memorizzato tramite il meccanismo onebox / allowed_onebox_iframes. Prima di intervenire, vorrei il supporto della community/del team per confermare se il comportamento descritto sia effettivamente possibile nell’attuale versione di Discourse.
La segnalazione afferma:
- Discourse oneboxa un URL nudo su una riga propria e incorpora il
twitter:playerdella pagina come iframe per tutti gli utenti. - La corrispondenza dell’origine per la whitelist degli iframe è “basata solo sul prefisso”, quindi un host come
www.youtube.com.attacker.exampleverrebbe accettato come un embed di YouTube legittimo, pur servendo HTML controllato dall’attaccante. - La
allowed_onebox_iframespredefinita è effettivamente un wildcard.
La mia comprensione è che (a) Discourse corrisponda gli host iframe nella whitelist sulla base del confine del dominio piuttosto che di un semplice prefisso, e (b) la whitelist predefinita degli iframe onebox sia un elenco curato di provider, non *. Qualcuno può confermare come funziona la corrispondenza degli host per allowed_onebox_iframes nella versione corrente e se un trucco di suffisso di sottodominio come quello descritto possa effettivamente superare la convalida?
Utilizziamo la versione Discourse v2026.8.0-latest. Sono disponibile a condividere la segnalazione originale privatamente con il team di sicurezza se utile.
Grazie.