收到一个漏洞报告,声称可以绕过 onebox iframe 白名单,有人能帮忙验证一下吗?

我们运营着一个 Discourse 论坛,并收到了一份外部报告,声称通过 onebox / allowed_onebox_iframes 机制存在存储型代码注入漏洞。在采取行动之前,我想请社区/团队协助确认当前版本的 Discourse 是否真的可能出现报告中描述的行为。

报告声称:

  • Discourse 会自动对单独一行的裸 URL 进行 onebox 处理,并为所有观众嵌入页面的 twitter:player 作为 iframe。
  • iframe 白名单的源匹配仅基于“前缀”,因此像 www.youtube.com.attacker.example 这样的主机名会被接受为合法的 YouTube 嵌入,同时提供攻击者控制的 HTML。
  • 默认的 allowed_onebox_iframes 实际上是一个通配符。

我的理解是:(a) Discourse 基于域名边界(而非裸前缀)来匹配白名单中的 iframe 主机名;(b) 默认的 onebox iframe 白名单是经过筛选的提供商列表,而非 *。能否有人确认当前版本中 allowed_onebox_iframes 的主机名匹配机制是如何工作的,以及报告中描述的这种子域名后缀技巧是否真的能通过验证?

我们使用的是 Discourse v2026.8.0-latest 版本。如果有帮助,我很乐意私下与安团队分享原始报告。

谢谢。

我怀疑这是一份来自不完整流程的 LLM 安全报告。

一个完善的 LLM 安全流程会先提出理论,然后搭建一个 Discourse 测试环境,配置相关的站点设置,并在其中复现该问题。但这里似乎并未进行这些步骤,而是直接从理论阶段跳到了向你发送报告。

你好 @Saurabh1

我可以确认该漏洞是真实存在的,我们已有一个修复方案正在处理中。

此问题的修复已包含在 July 31st 2026 intermediate releases