CVE-2025-9550CVE-2025-9550 是 Drupal 内容管理系统中 Facets 模块存在的一个跨站脚本(XSS)漏洞,于2025年10月10日由安全研究员 [email protected] 披露。该漏洞的 CVSS 3.1 评分为 6.1,属于中危级别。漏洞的根本原因在于 Drupal Facets 模块在 Web 页面生成过程中未能正确地对用户输入进行中和处理(Improper Neutralization of Input During Web Page Generation),导致攻击者可以注入恶意的客户端脚本代码。Drupal 是一个广泛使用的内容管理系统(CMS),其生态系统中有大量的第三方贡献模块。Facets 模块是 Drupal 中用于实现分面搜索和过滤功能的重要扩展组件,广泛应用于电商、新闻门户、企业网站等各种 Drupal 站点。该漏洞的影响范围涵盖从 0.0.0 版本到 2.0.10 之前的所有 2.x 版本,以及 3.0.0 到 3.0.1 之前的 3.x 版本。由于该漏洞为跨站脚本攻击,攻击者可以利用它在受害者的浏览器上下文中执行任意 JavaScript 代码,窃取用户的会话 Cookie、劫持用户会话、进行钓鱼攻击或篡改页面内容。CVSS 向量显示该漏洞可通过网络远程利用,无需认证,但需要用户交互(如点击恶意链接),并且由于作用域发生变化(S:C),影响范围会扩大。虽然该漏洞不会直接导致服务不可用,但会对用户数据安全和网站信誉造成严重威胁。Drupal 安全团队已发布 SA-CONTRIB-2025-100 安全公告,建议用户及时升级到修复版本。
该漏洞属于典型的存储型或反射型跨站脚本攻击(XSS),其技术原理是 Drupal Facets 模块在处理用户提交的搜索过滤参数或分面配置数据时,未对输入内容进行充分的 HTML 实体编码或过滤,导致恶意 JavaScript 代码能够被注入到最终渲染的网页中。具体而言,当用户访问包含恶意构造参数的 URL 时,Facets 模块会将这些参数用于生成分面搜索结果页面,如果参数值中包含的 HTML/JavaScript 标签未被正确转义,浏览器将执行其中的恶意脚本。攻击向量为网络(AV:N),攻击复杂度低(AC:L),无需任何权限(PR:N),但需要受害者进行某种形式的用户交互(UI:R),如点击攻击者精心构造的链接或访问包含恶意内容的页面。由于该漏洞导致作用域变化(S:C),意味着 XSS 注入的影响超出了 Facets 模块本身,可能影响到整个 Drupal 站点的安全上下文。机密性影响为低(C:L),因为攻击者可以读取敏感信息如 Cookie;完整性影响为低(I:L),因为攻击者可以修改页面内容;但可用性不受影响(A:N)。利用方式上,攻击者可以构造包含恶意 JavaScript 的 URL 参数,例如在分面搜索的过滤值中注入 `<script>alert(document.cookie)</script>` 或更隐蔽的事件处理器(如 `<img src=x onerror=...>`),当受害者点击链接后,恶意脚本将在受害者浏览器中以 Drupal 站点的权限执行。