Chainlit被曝访问控制漏洞:已登录用户可非法查看并劫持他人对话线程(CVE-2025-68492)

admin 2026-01-28 17:39:46 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: Chainlit被曝存在访问控制漏洞CVE-2025-68492,由于WebSocket重连逻辑未校验线程归属,已登录用户可猜测或获取他人线程ID,进而越权查看并劫持对话,导致信息泄露。该漏洞本质是横向权限提升,影响2.8.5之前所有版本。官方已在2.8.5版本修复,建议立即升级并加强访问控制校验。 综合评分: 90 文章分类: 漏洞分析,漏洞预警,应用安全,WEB安全


cover_image

Chainlit 被曝访问控制漏洞:已登录用户可非法查看并劫持他人对话线程(CVE-2025-68492)

云梦DC 云梦DC

云梦安全

2026年1月28日 09:00 河南

如果你用 Chainlit 做过多用户 AI 对话系统, 那这条漏洞信息,你不能当没看见。

近日,日本 JVN(JPCERT/CC)披露: 👉 Chainlit 存在访问控制缺陷(CVE-2025-68492) 👉 已登录用户可越权查看、接管他人对话线程 👉 本质是一次典型的“横向权限提升”

这不是“信息显示异常”, 而是权限边界被打穿


一、Chainlit 是什么?为什么这个洞值得被单独点名

Chainlit 是一个用于构建对话式 AI 应用的开源框架, 很多开发者用它来:

  • 快速搭 ChatGPT 式 UI
  • 构建内部 AI 助手
  • 做原型、Demo,甚至直接上线服务

它的一个重要能力是: 👉 支持多用户 + 保存 / 恢复聊天线程

而这次的漏洞, 正是出在“多用户线程管理”这里。


二、漏洞一句话说明(先给结论)

在受影响版本中:

只要你是一个“已登录用户”, 只要你知道(或猜到)别人的线程 ID, 就可以直接恢复、查看、甚至接管对方的对话线程。

不校验线程归属,不验证所有权。

这在安全上有一个非常标准的名字👇 👉 CWE-639:用户控制的密钥导致授权绕过


三、这到底能干什么?不是“偷看聊天”这么简单

1️⃣ 未经授权查看他人对话(信息泄露)

在企业或团队环境中,对话里可能包含:

  • 内部方案
  • 代码片段
  • 业务数据
  • 个人信息

这个漏洞意味着: 内部任意一个普通用户,都可能看到这些内容。


2️⃣ 更危险的:线程劫持(所有权被夺走)

问题不止“看”。

Chainlit 的逻辑是: 👉 谁连接上线程,谁就成了当前活跃控制者

所以攻击者可以:

  • 以“原用户身份”继续对话
  • 向 AI 发送新的指令
  • 污染、篡改原有对话上下文

从效果上看,这已经接近会话劫持


四、攻击是怎么发生的?现实场景并不复杂

一个典型攻击流程是这样的:

  1. 攻击者 A 正常登录 Chainlit
  2. 获取或猜测到用户 B 的线程 ID
  3. 通过前端或 WebSocket 请求恢复该线程
  4. 服务器未校验线程是否属于 A
  5. 直接返回 B 的完整对话内容,并授予控制权

如果线程 ID 是连续的、可预测的, 攻击难度会进一步降低。


五、为什么 CVSS 只有 4.2?但你不能掉以轻心

官方给出的评级是:

  • CVSS v3.0:4.2(中等)
  • CVSS v4.0:2.3(低)

原因很现实:

  • 攻击者必须是已登录用户
  • 必须知道目标线程 ID

但问题在于——

这是一个“内部攻击模型”的漏洞 在多用户系统里,风险并不低

尤其是:

  • 内部 AI 工具
  • 公司内部部署
  • 多部门共用系统

这个洞,一旦被人盯上,横向影响非常大。


六、根因在哪?几行代码级别的失误

问题出在 Chainlit 的 WebSocket 线程重连逻辑中:

  • 服务端只校验“是否登录”
  • 未校验“是否是线程所有者”
  • 用户可直接指定 thread_id 进行连接

这是典型的:

信任了用户可控参数,却没做资源级授权校验

修复方案也很直接: 👉 在连接线程前,强制校验线程归属


七、哪些版本受影响?

📌 Chainlit 2.8.5 之前的所有版本

  • 包括 2.8.4 及更早版本
  • 官方已在 2.8.5 中修复

八、官方建议 & 实际应对

✅ 最优解(强烈建议)

pip install -U chainlit

升级到 2.8.5 或更高版本


⚠️ 如果暂时无法升级(临时止血)

  • 暂时关闭/限制线程恢复功能
  • 加强日志监控(异常 thread_id 访问)
  • 内部明确告知风险,防止“好奇型滥用”

但说实话: 这些都只是权宜之计。


九、这个漏洞真正给我们的提醒

这次事件再次说明了一件老生常谈、但总被忽略的事:

“已登录 ≠ 已授权” “能访问接口 ≠ 有权访问资源”

哪怕是 AI 框架、UI 工具, 只要涉及多用户, 访问控制就是生命线。

github:https://github.com/Chainlit/chainlit/releases


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:云梦安全 云梦DC 云梦DC《Chainlit 被曝访问控制漏洞:已登录用户可非法查看并劫持他人对话线程(CVE-2025-68492)》

评论:0   参与:  0