Grav Admin插件存在存储型跨站脚本漏洞,攻击者可注入恶意脚本

本文详细披露了Grav Admin插件中的一个存储型跨站脚本漏洞,该漏洞允许攻击者通过站点配置中的data[taxonomies]参数注入恶意JavaScript代码,对访问管理界面的用户构成持久威胁。

CVE-2025-66308:Grav Admin 插件存储型跨站脚本漏洞

漏洞概述

在 Grav 应用程序的 /admin/config/site 端点中发现了一个存储型跨站脚本漏洞。攻击者可以向 data[taxonomies] 参数注入恶意脚本。注入的载荷存储在服务器上,并会在任何访问受影响站点配置的用户浏览器中自动执行,从而形成一个持久的攻击媒介。

受影响版本

  • 受影响版本:composer 包 getgrav/grav 版本 < 1.8.0-beta.27
  • 已修补版本:1.8.0-beta.27

漏洞详情

  • 脆弱端点POST /admin/config/site
  • 参数data[taxonomies] 该应用程序未对 data[taxonomies] 字段的输入进行适当的验证或清理。因此,攻击者可以注入 JavaScript 代码,这些代码存储在站点配置中,随后在管理界面或站点输出中渲染,导致在用户浏览器中自动执行。

复现步骤

  1. 使用具有修改站点配置足够权限的账户登录 Grav 管理面板。
  2. 导航到 配置 > 站点
  3. 分类法类型 字段(映射到 data[taxonomies])中,插入以下载荷: "><script>alert('XSS-PoC')</script>
  4. 保存配置。
  5. 转到 页面 并点击其中一个页面。存储的载荷会立即在浏览器中执行,从而确认存储型 XSS 漏洞。 在此过程中提交的 HTTP 请求包含脆弱的参数和载荷。

影响

存储型 XSS 攻击可能导致严重后果,包括:

  • 会话劫持:窃取 cookie 或身份验证令牌以冒充用户
  • 凭证盗窃:使用恶意脚本窃取用户名和密码
  • 恶意软件分发:向受害者传播不需要的或有害的代码
  • 权限提升:通过持久性脚本危害管理员用户
  • 数据操纵或篡改:更改或破坏站点内容
  • 声誉损害:侵蚀站点用户和管理员之间的信任

严重性

中等 - CVSS 总体评分:6.8

CVSS v4 基础指标

  • 可利用性指标
    • 攻击向量:网络
    • 攻击复杂度:低
    • 攻击要求:存在
    • 所需权限:高
    • 用户交互:主动
  • 脆弱系统影响指标
    • 机密性:高
    • 完整性:无
    • 可用性:无
  • 后续系统影响指标
    • 机密性:高
    • 完整性:无
    • 可用性:无

CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:A/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N

弱点

  • CWE-79:在网页生成过程中对输入的不当中和(‘跨站脚本’)

相关ID

  • CVE ID:CVE-2025-66308
  • GHSA ID:GHSA-gqxx-248x-g29f

发现者

Marcelo Queiroz (by CVE-Hunters)

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计