CVE-2025-66310CVE-2025-66310是Grav CMS管理插件中的一个存储型跨站脚本(XSS)漏洞。该漏洞存在于Grav的管理员界面插件中,该插件为Grav提供了一个便捷的HTML用户界面,用于配置Grav系统以及创建和修改页面。在1.11.0-beta.1之前的版本中,攻击者可以通过/admin/pages/[page]端点的data[header][template]参数注入恶意JavaScript脚本。这些恶意脚本会被保存在页面的frontmatter中,当管理员或用户在管理界面或前端视图中访问受影响的页面时,恶意脚本会自动执行。由于是存储型XSS,攻击者只需成功注入一次,恶意代码就会在所有访问该页面的用户浏览器中执行,可能导致会话劫持、敏感信息窃取或进一步的恶意操作。此漏洞需要攻击者具有低权限用户身份,并且需要用户交互才能触发。
该漏洞的根本原因在于Grav admin插件在处理页面模板参数时缺乏充分的输入验证和输出编码。具体来说:1) 漏洞位于/admin/pages/[page]端点,该端点允许用户编辑页面配置;2) 攻击者通过data[header][template]参数提交恶意脚本内容;3) 由于缺乏输入过滤,恶意脚本被直接存储在页面的YAML frontmatter中;4) 当页面被渲染时,未经过滤的脚本内容被直接嵌入到HTML响应中;5) 浏览器将其作为合法脚本执行,导致XSS攻击成功。攻击者可以利用此漏洞窃取管理员会话cookie、进行钓鱼攻击或在管理员界面中执行任意操作。修复版本为1.11.0-beta.1,修复措施包括对template参数进行严格的输入验证和适当的输出编码。