CVE-2026-41318CVE-2026-41318 是 AnythingLLM 应用中的一个安全漏洞。在 1.12.1 版本之前,该应用的 `Chartable` 组件在渲染图表标题时未进行适当的清理。攻击者可以通过间接提示注入或直接创建图表记录来影响 LLM 的输出,从而在图表标题中注入恶意脚本。当其他用户查看包含该图表的聊天记录时,恶意脚本将在其浏览器中执行,导致存储型 DOM XSS 攻击。该漏洞利用了应用对 Markdown 图片 `alt` 属性的不安全处理以及特定组件缺乏 DOMPurify 净化的问题。
该漏洞的根本原因在于 AnythingLLM 的 Markdown 渲染器对图片的自定义规则不安全,它会将 Markdown 图片的 `alt` 文本直接插入到 HTML 的 `alt="..."` 属性中,且未进行 HTML 编码。尽管应用的大多数调用点都使用 `DOMPurify.sanitize(...)` 作为深度防御,但 `Chartable` 组件在渲染图表标题时完全绕过了此清理过程。图表标题源自 LLM 在 `create-chart` 工具调用周围发出的自然语言文本。攻击者可以通过在共享工作区文档中进行间接提示注入,或者在多用户工作区中直接创建图表记录,来控制 LLM 生成的图表标题内容。一旦注入成功,这些恶意内容会随聊天历史一起存储在服务器端。当其他用户通过 API 加载并查看该对话时,未经过滤的恶意脚本将在受害者的浏览器中渲染执行,从而实现存储型 DOM XSS。