
CVE-2026-3844 — Unauthenticated Arbitrary File Upload to RCE in Breeze Cache (WordPress). CVSS 9.8 CRITICAL. Mass scanner + auto shell injector with multi-threading.
╔════════════════════════════════════════════════════════════╗
║ CVE-2026-3844 ║
║ Breeze Cache <= 2.4.4 Arbitrary File Upload ║
║ Unauthenticated RCE | Authorized Lab Use Only ║
╚════════════════════════════════════════════════════════════╝
CVE-2026-3844 是一个任意文件上传漏洞,影响存在漏洞版本的
Breeze Cache WordPress 插件。当启用本地 Gravatar 托管时,Breeze 可以获取头像
URL 并将下载的文件存储在 Web 可访问的缓存目录中,而未充分
验证文件类型。
Attacker-controlled avatar URL
|
v
WordPress renders an avatar
|
v
Breeze Gravatar local-cache handler
|
v
download_url() fetches the remote file
|
v
File is saved under wp-content/cache/breeze-extra/gravatars/
|
v
Web-accessible uploaded file
漏洞行为出现在 Breeze 的 Gravatar 缓存流程中:
src URL 会被 Breeze 的 Gravatar 处理器接受。download_url() 下载。相关漏洞代码位置:
inc/class-breeze-cache-cronjobs.php
fetch_gravatar_from_remote()
目标要求:
<= 2.4.4 的 WordPress 站点。Host Files Locally - Gravatars。本地实验环境说明:
git clone https://github.com/AnggaTechI/CVE-2026-3844.git
cd CVE-2026-3844
python3 --version
不需要第三方 Python 包。该脚本仅使用 Python 标准库模块。
运行工具:
python3 exploit.py
单目标示例:
[*] Target URL or file: http://localhost/lab-wp
目标列表示例:
[*] Target URL or file: targets.txt
[*] Threads (default 30): 30
[*] Auto-inject on vulnerable? [y/N]: n
示例输出:
[+] Loaded 1 target(s)
[+] Scanning 1 targets with 30 threads
[+] [1/1] localhost/lab-wp -> v2.4.4 gravatar=ON
[+] VULNERABLE: 1/1
[+] Saved: result.txt
脚本会检查目标是否为 WordPress,读取 Breeze 插件元数据,并将检测到的版本与受漏洞影响的版本范围进行比较。
脚本会通过检查 Breeze 的 breeze-extra/gravatars 缓存引用来推断是否启用了本地 Gravatar 托管。
当启用自动注入时,脚本会尝试通过部署生成的测试载荷并查找其标记来验证可利用性。
对于本地实验环境,脚本在能够识别 WordPress 根目录时可能会使用直接的文件系统访问。对于远程授权测试,它会启动一个临时载荷服务器,并尝试触发 Breeze 的 Gravatar 缓存流程。
根据 WordPress 设置的不同,缓存文件可能以下列形式之一出现:
/wp-content/cache/breeze-extra/gravatars/<filename>
/wp-content/cache/breeze-extra/gravatars/1/<filename>
第一个路径在普通单站点 WordPress 安装中很常见。当包含博客/站点 ID 时,可能会出现第二个路径。
在本地 WordPress 实验环境中测试时,请使用此检查清单:
2.4.4。Host Files Locally - Gravatars。wp-content/cache/breeze-extra/gravatars/ 下。wp-content 路径提供文件服务。gravatar=OFF
插件可能已激活,但 Breeze 尚未生成本地 Gravatar 缓存文件。请访问一个渲染头像的页面,或在实验环境中调用 WordPress 的头像渲染路径。
not vulnerable
常见原因包括:Breeze 版本已修补、Breeze 未安装、在 URL 处未检测到 WordPress,或目标路径缺少类似 /lab-wp 的子目录。
Injection failed
Gravatar 设置可能已禁用,站点可能无法公开渲染头像,缓存路径可能不可写,或者 WordPress 服务器无法访问远程载荷 URL。
本仓库仅用于教育、本地实验复现以及经授权的安全测试。请勿针对你不拥有或未获得明确许可的系统运行此工具。
| 字段 | 详情 |
|---|
| CVE | CVE-2026-3844 |
| 产品 | Breeze Cache, WordPress Cache Plugin |
| 厂商 | Cloudways |
| 漏洞类型 | 任意文件上传 |
| CWE | CWE-434 |
| 严重性 | 严重,CVSS 9.8 |
| 身份认证 | 不需要 |
| 受影响版本 | Breeze Cache <= 2.4.4 |
| 修复版本 | 2.4.5 或更高版本 |
| 必需设置 | 已启用 Host Files Locally - Gravatars |