CVE-2025-66311CVE-2025-66311是Grav CMS管理插件中的一个存储型跨站脚本(XSS)漏洞。该漏洞存在于/admin/pages/[page]端点,攻击者可通过data[header][metadata]、data[header][taxonomy][category]和data[header][taxonomy][tag]参数注入恶意JavaScript脚本。这些恶意脚本会被永久存储在页面frontmatter中,当管理员或其他用户访问或渲染受影响页面时自动执行。攻击者可利用此漏洞窃取会话Cookie、劫持用户会话、进行钓鱼攻击或执行其他恶意操作。由于需要低权限认证且需要用户交互,该漏洞被评定为中危级别,CVSS评分5.4。此漏洞影响1.11.0-beta.1之前的所有版本,已在1.11.0-beta.1版本中修复。
漏洞根源在于Grav Admin插件在处理页面元数据和分类信息时未对用户输入进行充分的HTML转义。当用户通过/admin/pages/[page]端点创建或修改页面时,注入到data[header][metadata]、data[header][taxonomy][category]和data[header][taxonomy][tag]参数中的恶意脚本会被直接存储到页面的frontmatter中。由于系统未对这些存储的数据进行输出编码,当页面在管理界面中被渲染或被其他用户访问时,恶意脚本将以HTML形式执行。攻击者只需拥有低权限账户(如普通编辑者)即可利用此漏洞,且攻击成功后可窃取管理员会话令牌,进而获得更高的系统权限。修复方案在提交99f653296504f1d6408510dd2f6f20a45a26f9b0中实现,主要通过添加适当的输入验证和输出编码来防止XSS攻击。