CVE-2024-58285Chyrp 2.5.2存在一个严重的存储型跨站脚本(XSS)漏洞,该漏洞允许已认证用户在帖子标题字段中注入恶意JavaScript脚本。由于漏洞类型为存储型,恶意脚本会被永久保存在服务器端,当其他用户浏览该帖子时,注入的脚本会自动执行。这意味着攻击者可以窃取受害者的会话Cookie、劫持用户会话、进行钓鱼攻击或执行其他客户端-side攻击。该漏洞的CVSS评分为5.4,属于中等严重程度,攻击向量为网络范围,攻击复杂度低,但需要低权限认证和用户交互。攻击者利用此漏洞可以获取敏感用户信息、冒充合法用户操作、甚至可能进一步横向移动到其他系统。对于托管Chyrp博客平台的网站来说,该漏洞构成重大安全风险,建议立即采取修复措施。
该漏洞源于Chyrp 2.5.2版本在处理用户提交的帖子标题时,未对输入内容进行充分的HTML转义或输入验证。攻击者作为已认证用户(如博主或撰稿人)可以在创建或编辑帖子时,在标题字段中嵌入恶意JavaScript代码,例如:<script>alert(document.cookie)</script>。由于应用未对特殊字符进行转义处理,该payload会被直接存储到数据库中。当其他用户访问该帖子页面时,服务器从数据库读取标题内容并嵌入到HTML响应中,浏览器将其解析为可执行脚本并执行。攻击者可以构造更复杂的payload来实现会话劫持、键盘记录或重定向用户到恶意网站。此类存储型XSS的危害性高于反射型XSS,因为恶意脚本会在所有访问该帖子的用户浏览器中自动执行,无需诱骗用户点击特定链接。修复此漏洞需要在输出时对所有用户可控的数据进行HTML实体编码,并在输入端实施严格的输入验证和白名单策略。