CVE-2025-13329
WordPress vulnerability analysis and mitigation

Overview

CVE-2025-13329 is a critical arbitrary file upload vulnerability in the File Uploader for WooCommerce plugin for WordPress, classified under CWE-434 (Unrestricted Upload of File with Dangerous Type). The flaw exists in all versions up to and including 1.0.3 and allows unauthenticated attackers to upload arbitrary files via the add-image-data REST API endpoint, potentially enabling remote code execution (RCE). It was published on December 20, 2025, and assigned a CVSS v3.1 base score of 9.8 (Critical) (Wordfence, Red Hat CVE).

Technical details

The root cause is missing file type validation in the callback function handling the add-image-data REST API endpoint (CWE-434). An unauthenticated attacker can send a crafted HTTP request to this endpoint, uploading an arbitrary file (e.g., a PHP web shell) to the Uploadcare third-party service. The plugin then downloads the uploaded file back to the affected WordPress server, making the malicious file accessible and potentially executable. No authentication or user interaction is required, and attack complexity is low, making this trivially exploitable over the network (Wordfence, ENISA EUVD).

Impact

Successful exploitation can result in complete compromise of the affected WordPress site, including full confidentiality, integrity, and availability impact. An attacker can upload and execute arbitrary code (e.g., PHP web shells or backdoors), gain persistent unauthorized access, exfiltrate sensitive site data, install malware, and potentially pivot to other systems on the same hosting infrastructure. The unauthenticated nature of the attack means any internet-exposed WordPress site running the vulnerable plugin is at risk without any user interaction (Wordfence, The Hacker Wire).

Exploitability

As of the time of reporting, there is no confirmed public proof-of-concept exploit and no evidence of active in-the-wild exploitation (Wordfence). The vulnerability is not currently listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, though CISA did reference it in a weekly vulnerability bulletin (CISA Bulletin). The EPSS score is approximately 0.197%, indicating a currently low but non-negligible probability of exploitation in the near term. A Nuclei detection template pull request has been submitted to the ProjectDiscovery repository, which may lower the barrier for automated scanning (Nuclei Templates PR).

Exploitation steps

  1. Reconnaissance: Identify WordPress sites running the File Uploader for WooCommerce plugin (versions ≤ 1.0.3) using tools like WPScan, Shodan, or Censys by fingerprinting the plugin's presence via known file paths (e.g., /wp-content/plugins/file-uploader-for-woocommerce/).
  2. Identify the vulnerable endpoint: Locate the unauthenticated REST API endpoint — add-image-data — exposed by the plugin, typically accessible at /wp-json/<namespace>/add-image-data.
  3. Craft malicious upload request: Prepare a PHP web shell file (e.g., shell.php) and send an unauthenticated HTTP POST request to the add-image-data endpoint, supplying the malicious file as the image data payload without any file type restriction being enforced.
  4. File uploaded to Uploadcare: The plugin uploads the attacker-supplied file to the Uploadcare CDN service without validating the file type.
  5. Trigger server-side download: The plugin's callback mechanism downloads the uploaded file from Uploadcare back to the WordPress server's file system, placing the malicious file in a web-accessible directory.
  6. Execute remote code: Access the uploaded web shell via its URL on the target server (e.g., https://target.com/wp-content/uploads/shell.php) to execute arbitrary OS commands, establish a reverse shell, or perform further post-exploitation activities (Wordfence, The Hacker Wire).

Indicators of compromise

  • Network: Unexpected outbound connections from the WordPress server to Uploadcare CDN domains (e.g., ucarecdn.com) not initiated by legitimate user activity; unusual inbound POST requests to /wp-json/*/add-image-data from unknown or automated IP addresses.
  • File System: Presence of unexpected PHP files (e.g., shell.php, cmd.php) in WordPress upload directories (/wp-content/uploads/) or plugin directories; files with recently modified timestamps inconsistent with normal site activity.
  • Logs: WordPress/web server access logs showing POST requests to the add-image-data REST API endpoint from unauthenticated sources; HTTP requests to newly created PHP files in upload directories returning 200 responses.
  • Process: Unusual child processes spawned by the web server process (e.g., Apache/Nginx/PHP-FPM) such as bash, curl, wget, or python; unexpected cron jobs or scheduled tasks added to the server.

Mitigation and workarounds

The primary remediation is to update the File Uploader for WooCommerce plugin to a version beyond 1.0.3, which includes proper file type validation (Wordfence). If an immediate update is not possible, disable the plugin to eliminate the attack surface. Additional mitigations include deploying a Web Application Firewall (WAF) to filter malicious upload requests, restricting access to REST API endpoints where feasible, and monitoring server logs for suspicious upload activity. A thorough post-incident audit of the WordPress site's file system is recommended for any site that ran the vulnerable version.

Community reactions

The vulnerability was reported by Wordfence, which assigned it a critical severity rating and published details in its threat intelligence database (Wordfence). The Hacker Wire covered it as a notable critical RCE risk for WooCommerce-based WordPress sites (The Hacker Wire). CISA included it in its weekly vulnerability bulletin for the week of December 15, 2025 (CISA Bulletin). Community discussion was noted on Mastodon/Infosec.exchange and Bluesky, with security researchers flagging the unauthenticated RCE potential as particularly concerning.

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-78570CRITICAL9.8
  • totaldonations
NoNoAug 25, 2026
CVE-2026-78568CRITICAL9.8
  • totaldonations
NoNoAug 25, 2026
CVE-2026-78572HIGH8.1
  • kalles-addons
NoNoAug 25, 2026
CVE-2026-78576HIGH7.5
  • readabler
NoYesAug 25, 2026
CVE-2026-76128MEDIUM6.4
  • ecommerce-product-catalog
NoYesAug 25, 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