CVE-2025-66452: CWE-79:在 danny-avila LibreChat 中对网页生成期间输入的不当中和(‘跨站脚本’)
严重性: 中等 类型: 漏洞 CVE: CVE-2025-66452
LibreChat 是一个具有附加功能的 ChatGPT 克隆。在 0.8.0 及更早版本中,没有处理 JSON 解析错误的程序;来自 express.json() 的 SyntaxError 在错误消息中包含了用户输入,该错误消息会在响应中被反射。用户输入(包括 HTML/JavaScript)可能暴露在错误响应中,如果未严格强制执行 Content-Type,则存在 XSS 风险。此问题在发布时没有修复。
AI 分析
技术总结
CVE-2025-66452 是在 LibreChat 项目(一个具有附加功能的 ChatGPT 克隆)中发现的跨站脚本漏洞,影响版本 0.8.1 及更早版本。根本原因是 express.json() 中间件中缺乏对 JSON 解析错误的适当处理。当发送格式错误的 JSON 输入时,express.json() 会抛出一个 SyntaxError,其中包含原始用户输入的错误信息。LibreChat 未经净化或转义,直接在 HTTP 响应中逐字反射此错误消息。如果服务器未严格强制执行 Content-Type 标头以防止浏览器将响应解释为 HTML,攻击者可以在 JSON 负载中注入恶意的 HTML 或 JavaScript 代码。这导致了反射型 XSS 漏洞(CWE-79)。该漏洞不需要身份验证,任何向服务器发送精心构造的 JSON 数据的用户都可以触发。CVSS 4.0 基础评分为 5.3(中等严重性),反映了网络攻击向量、复杂度低、攻击发起不需要特权或用户交互,但需要在受害者浏览器中触发有效载荷的用户交互。该漏洞通过允许在易受攻击的 Web 应用程序上下文中执行脚本来影响机密性和完整性,可能导致会话劫持、凭据窃取或其他恶意行为。发布时没有可用的补丁或修复程序,也没有报告在野已知的利用。该问题凸显了在 Web 应用程序中进行适当的错误处理和严格的 Content-Type 强制执行以防止注入攻击的重要性。
潜在影响
对于使用 LibreChat 0.8.1 或更早版本的欧洲组织,此漏洞可能导致反射型 XSS 攻击被利用,允许攻击者在用户浏览器中执行任意脚本。这可能导致会话劫持、敏感信息盗窃、代表用户执行未经授权的操作以及潜在的恶意软件传播。对于那些将 LibreChat 部署为客户面向或内部通信工具的组织来说,影响尤其重大,因为可能会交换敏感或机密信息。如果个人数据被泄露,该漏洞可能会破坏用户信任并导致 GDPR 下的合规性问题。此外,如果 LibreChat 集成到更大的平台或工作流程中,XSS 漏洞可能成为更复杂攻击的入口点。由于目前没有可用的修复程序,组织在实施缓解措施或发布更新之前面临更高的风险。
缓解建议
欧洲组织应实施以下具体缓解措施:
- 严格强制 LibreChat 所有 HTTP 响应中的 Content-Type 标头,确保错误消息被视为纯文本而非 HTML,防止脚本执行。
- 部署具有检测和阻止针对 LibreChat 端点的包含可疑 JSON 或脚本内容的恶意负载规则的 Web 应用程序防火墙(WAF)。
- 在应用程序或代理级别实施输入验证和净化,以检测格式错误的 JSON 并在请求到达 LibreChat 之前拒绝它们。
- 在 Express.js 服务器中配置错误处理中间件以捕获 JSON 解析错误并返回不反射用户输入的通用错误消息。
- 将 LibreChat 部署置于身份验证和网络分段之后以限制暴露。
- 监控日志中是否存在重复的 JSON 解析错误或指示利用尝试的可疑请求。
- 与 LibreChat 项目或社区合作,跟踪补丁的发布情况,并在可用时计划及时更新。
- 教育用户点击不受信任的链接或与可能利用 XSS 的可疑聊天内容交互的风险。
受影响的国家
德国、法国、英国、荷兰、瑞典、意大利、西班牙、波兰
来源: CVE 数据库 V5 发布日期: 2025年12月11日 星期四