CVE-2025-69286RAGFlow是一款开源的RAG(检索增强生成)引擎。在0.22.0之前的版本中,存在一个严重的安全漏洞,源于API密钥和beta token(助手/代理共享认证令牌)生成过程中使用了不安全的密钥生成算法。该漏洞允许攻击者通过获取到的共享助手/代理URL,推导出令牌所有者的个人API密钥,从而获得受害者账户的完全控制权。由于RAGFlow常被用于企业级知识管理和AI应用开发,此漏洞可能影响大量使用该系统的组织和个人用户。攻击者利用此漏洞可以访问受害者账户中的所有资源、执行任意操作,严重威胁数据安全和系统完整性。
漏洞根源在于RAGFlow的令牌生成机制存在设计缺陷。在系统应用的密钥生成代码中,API密钥和beta token都使用相同的`URLSafeTimedSerializer`类进行生成,且使用了可预测的输入参数。具体来说,这两个令牌共享相同的加密算法和盐值(salt),使得它们之间存在数学关联性。攻击者只需要获取到beta token(即共享助手/代理的URL中的token部分),通过分析其生成算法和参数,结合`URLSafeTimedSerializer`的反向操作,即可推导出对应的API密钥。由于生成过程中未引入足够的随机性和复杂性,导致整个认证体系的安全性被完全破坏。攻击者获取API密钥后,可以绕过正常的认证流程,以受害者身份执行任何API操作。