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 代码,这些代码存储在站点配置中,随后在管理界面或站点输出中渲染,导致在用户浏览器中自动执行。
复现步骤
- 使用具有修改站点配置足够权限的账户登录 Grav 管理面板。
- 导航到 配置 > 站点。
- 在 分类法类型 字段(映射到
data[taxonomies])中,插入以下载荷:"><script>alert('XSS-PoC')</script> - 保存配置。
- 转到 页面 并点击其中一个页面。存储的载荷会立即在浏览器中执行,从而确认存储型 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)