CVE-2025-65012CVE-2025-65012是Kirby内容管理系统中的一个存储型跨站脚本(XSS)漏洞。该漏洞影响Kirby 5.0.0至5.1.3版本。攻击者利用此漏洞可以修改任意页面的标题或用户名,将其替换为包含恶意JavaScript代码的字符串。随后,攻击者可以修改同一模型的内容字段但不保存,使其成为"Changes"对话框的候选显示项。当其他已认证的Panel用户打开该对话框时,恶意代码将在其浏览器上下文中执行,从而窃取会话Cookie、劫持用户会话或执行其他恶意操作。此漏洞的利用需要用户交互,无法自动化攻击,且攻击者必须具备Kirby Panel的认证用户身份或能够更新页面标题/用户名的外部访问权限。漏洞已在版本5.1.4中得到修复。
该漏洞的根本原因在于Kirby CMS对用户输入的页面标题和用户名缺乏充分的输入验证和输出编码。在Kirby 5.0.0至5.1.3版本中,系统允许用户设置包含HTML/JavaScript代码的标题字段,且这些恶意内容在存储时未被正确清理。攻击流程如下:首先,攻击者(需为认证用户)将目标页面的标题修改为包含恶意脚本的字符串,如<img src=x onerror=alert(document.cookie)>。然后,攻击者修改同一页面的任意内容字段但不保存更改,此时该页面会被添加到"Changes"对话框的待处理列表中。当其他Panel用户打开"Changes"对话框查看待处理更改时,恶意代码会在该用户的浏览器上下文中执行。由于Panel通常具有较高的权限,攻击成功可能导致敏感信息泄露、账户接管或进一步的系统渗透。修复版本5.1.4增加了对用户输入的严格验证和HTML转义处理。