CVE-2025-60235
WordPress vulnerability analysis and mitigation

Overview

CVE-2025-60235 is an Unrestricted File Upload vulnerability (CWE-434) in the Plugify "Helpdesk Support Ticket System for WooCommerce" WordPress plugin that allows unauthenticated remote attackers to upload arbitrary malicious files. The vulnerability affects all plugin versions up to and including 2.0.7 (also referenced as ≤ 2.1.0 in some sources). It was reported by researcher 0xd4rk5id3 on June 11, 2025, and published by Patchstack on July 11, 2025. It carries a CVSS v3.1 base score of 10.0 (Critical) (Patchstack).

Technical details

The root cause is a failure to validate or restrict file types during the upload process within the support ticket functionality of the plugin (CWE-434: Unrestricted Upload of File with Dangerous Type). Because no authentication is required and no file type whitelisting or content inspection is enforced, an attacker can submit a crafted HTTP request to the plugin's file upload endpoint and place a malicious file (e.g., a PHP web shell) directly on the server. The attack vector is network-based, requires no privileges or user interaction, and has a changed scope — meaning a successful exploit can affect resources beyond the vulnerable component itself (Patchstack). No public proof-of-concept code has been identified at this time.

Impact

Successful exploitation allows an unauthenticated attacker to upload and execute arbitrary code on the web server, resulting in full confidentiality, integrity, and availability compromise of the affected WordPress/WooCommerce installation. An attacker could deploy a web shell or backdoor to maintain persistent access, exfiltrate sensitive customer and payment data stored in WooCommerce, pivot to other systems on the hosting environment, or completely deface or destroy the site (Patchstack).

Exploitability

No public proof-of-concept exploit or evidence of active in-the-wild exploitation has been observed as of the time of publication (Patchstack). The EPSS score is approximately 0.024% (0.000240), indicating a currently low probability of exploitation in the near term. However, Patchstack classifies this as high priority and notes that vulnerabilities of this class (unauthenticated arbitrary file upload with a CVSS of 10.0) are frequently leveraged in mass-exploit campaigns targeting WordPress sites at scale. The CVE is not currently listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.

Exploitation steps

  1. Reconnaissance: Identify WordPress sites running the "Helpdesk Support Ticket System for WooCommerce" plugin version ≤ 2.0.7 using tools such as WPScan, Shodan, or by inspecting publicly accessible plugin metadata (e.g., /wp-content/plugins/support-ticket-system-for-woocommerce/readme.txt).
  2. Locate the upload endpoint: Identify the plugin's file attachment/upload endpoint used during ticket submission — typically accessible without authentication as part of the support ticket creation workflow.
  3. Craft malicious upload request: Prepare a PHP web shell (e.g., <?php system($_GET['cmd']); ?>) saved with a .php extension. Construct a multipart HTTP POST request targeting the plugin's upload handler, bypassing any client-side restrictions.
  4. Upload the malicious file: Submit the crafted request to the vulnerable endpoint. Due to the absence of server-side file type validation, the PHP file is accepted and stored in a web-accessible directory.
  5. Execute the payload: Determine the uploaded file's URL (often predictable based on WordPress upload directory conventions) and send an HTTP GET request to it with a command parameter (e.g., ?cmd=id) to achieve remote code execution on the server (Patchstack).

Indicators of compromise

  • Network: Unexpected HTTP POST requests to the plugin's ticket/attachment upload endpoint from unknown or automated IP addresses; subsequent GET requests to newly created files in /wp-content/uploads/ with command-like query parameters (e.g., ?cmd=, ?exec=).
  • File System: Presence of PHP files with unusual names in /wp-content/uploads/ or plugin-specific upload directories; web shell signatures such as system(), exec(), passthru(), or base64_decode() in uploaded files.
  • Logs: WordPress or web server access logs showing POST requests to the plugin's upload handler from unauthenticated sessions, followed by GET requests to the same file path; HTTP 200 responses to requests for .php files in upload directories.
  • Process: Unexpected child processes spawned by the web server process (e.g., Apache/Nginx spawning bash, curl, wget, or python) indicating server-side code execution.

Mitigation and workarounds

As of the publication date, no official patch from the plugin developer has been released for versions ≤ 2.0.7 (Patchstack). Patchstack has issued a virtual patch/mitigation rule for subscribers to block exploitation attempts until an official fix is available. Recommended actions include: (1) temporarily disabling the plugin if it is not critical to operations; (2) deploying a Web Application Firewall (WAF) rule to block unauthenticated file uploads to the plugin's endpoint; (3) configuring the server to deny execution of PHP files in the WordPress uploads directory; and (4) monitoring for a vendor-released patch and applying it immediately upon availability.

Community reactions

Patchstack, which discovered and disclosed the vulnerability through researcher 0xd4rk5id3, has classified it as high priority and issued a virtual mitigation rule for its customers, noting that unauthenticated arbitrary file upload vulnerabilities with a perfect CVSS score are prime candidates for mass-exploit campaigns (Patchstack). No broader media coverage or notable social media discussion has been identified at this time.

Additional resources


SourceThis report was generated using AI

Related WordPress vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-77115HIGH7.1
  • brave-popup-builder
NoYesAug 23, 2026
CVE-2026-77116MEDIUM4.3
  • brave-popup-builder
NoYesAug 23, 2026
CVE-2026-14853MEDIUM4.3
  • woocommerce-bookings
NoYesAug 23, 2026
CVE-2026-77003LOW2.7
  • content-mask
NoYesAug 23, 2026
CVE-2026-13598NONEN/A
  • restrictmate
NoYesAug 23, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management