CVE-2025-34291Langflow 1.6.9及之前版本存在严重的链式漏洞,攻击者可通过CORS配置错误结合refresh token机制缺陷实现账户接管和远程代码执行。该漏洞由两个安全缺陷组成:首先,Langflow配置了过度宽松的CORS策略(allow_origins='*'且allow_credentials=True),允许来自任意源的跨域请求携带用户凭证;其次,refresh token cookie被设置为SameSite=None,使得攻击者控制的网站能够向Langflow服务器发起跨域请求并成功获取新的access_token和refresh_token对。利用获取的认证令牌,攻击者可访问受保护的API端点,包括内置的代码执行功能,从而在服务器上执行任意代码,最终实现完全的系统控制。
漏洞核心在于CORS配置与认证机制的不安全组合。攻击过程如下:1) 受害者登录Langflow后,服务器返回包含refresh_token的cookie,该cookie的SameSite属性被设置为None,同时CORS策略允许任意来源的请求(Access-Control-Allow-Origin: *)且支持credentials(Access-Control-Allow-Credentials: true)。2) 攻击者构造恶意网页,诱导受害者访问。3) 恶意页面通过fetch或XMLHttpRequest向Langflow的/token/refresh端点发起跨域POST请求,由于CORS配置允许且cookie配置为SameSite=None,浏览器会自动携带受害者的refresh_token cookie。4) 服务器验证refresh_token后返回新的access_token和refresh_token。5) 攻击者通过JavaScript获取响应中的令牌。6) 利用获取的access_token,攻击者调用Langflow的API端点(如/components/load_functions或通过API触发代码执行功能)。7) 代码执行功能允许在服务器端执行Python代码,攻击者借此执行任意系统命令,实现远程代码执行。