CVE-2025-56526CVE-2025-56526是发现于Kotaemon 0.11.0版本中的一个存储型跨站脚本(XSS)漏洞。该漏洞允许攻击者通过精心构造的恶意PDF文件在应用内注入并执行任意JavaScript代码。Kotaemon是一个开源的文档问答系统,用户可以上传PDF文档进行内容分析和交互。当应用处理并渲染包含恶意脚本的PDF内容时,未对PDF中的JavaScript代码进行充分的过滤和转义处理,导致攻击者可以在受害者的浏览器会话中执行任意代码。此漏洞的CVSS评分为6.1,属于中等严重程度,攻击复杂度低,但需要用户交互(上传或查看恶意PDF文件)。由于该漏洞可通过社会工程学手段诱导用户上传恶意PDF,因此在实际攻击场景中具有较高的可行性。攻击成功后,攻击者可以窃取用户的会话Cookie、劫持用户账户、读取敏感数据或进行进一步的攻击。
该漏洞的根本原因在于Kotaemon应用在处理PDF文件内容时缺乏充分的输入验证和输出编码。攻击者可以在PDF文件的元数据、注释或文本内容中嵌入JavaScript代码,当应用使用PDF.js等库解析并渲染PDF时,这些恶意脚本会被执行。具体技术细节包括:1) PDF规范支持在文档中嵌入JavaScript代码,可通过PDF对象的AA(Additional Actions)或OpenAction触发;2) Kotaemon的PDF渲染组件直接使用iframe或内联方式加载PDF内容,未启用沙箱隔离;3) 应用未对PDF内容进行安全过滤,未移除或禁用JavaScript代码;4) 攻击者利用PDF的JavaScript功能在文档打开时自动执行恶意代码;5) 漏洞属于存储型XSS,恶意代码随PDF文件持久化在系统中,影响所有查看该PDF的用户。修复方案应包括:对PDF内容进行深度清理,移除所有JavaScript代码和可执行内容;启用PDF.js的沙箱模式阻止脚本执行;对用户上传的PDF进行安全扫描;实施严格的Content Security Policy(CSP)策略。