Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach plugin connector endpoint
-
DeliverySend empty jtlauth parameter
-
ExploitBypass authentication in startSession()
-
ExecutionUpload executable PHP via saveImage()
-
PersistRequest uploaded file to run code
-
ImpactAchieve RCE and site takeover
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File type validation, storage isolation
MITRE ATT&CK
2 techniques across 2 tactics: Command and Control, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | No special conditions beyond having the JTL-Connector for WooCommerce plugin (version 2.4.3 or earlier) installed and active on an internet-reachable WordPress site - remote unauthenticated exploitation works against default configurations because startSession() treats an empty jtlauth parameter as a valid credential, so no authentication, no user interaction, and no non-default setting is required. The primary limiting factor is deployment scope: exploitation requires the specific JTL-Connector plugin to be present (a niche ERP integration), and the attacker must be able to reach the plugin's connector/image-push endpoint over the network. Successful RCE further assumes the web server executes uploaded PHP from the writable upload path, which is the default on typical WordPress hosts. |
| Impact | This is a genuine high-priority vulnerability, not a high-CVSS-but-low-real-risk case. The CVSS vector (AV:N/AC:L/PR:N/UI:N) is fully consistent with the description: a remote, unauthenticated attacker can exploit it with low complexity and no user interaction, and the C:H/I:H/A:H impact is justified because arbitrary file upload leading to code execution grants full control of the WordPress host. The root cause described - startSession() accepting an empty jtlauth parameter as valid credentials, combined with missing file-type validation in handleImagePush()/saveImage() - is an authentication-bypass-plus-unrestricted-upload chain (CWE-434), the most reliably weaponizable class of WordPress plugin flaw. No EPSS score, KEV listing, or public POC was provided in the input, so there is currently 'no public exploit identified at time of analysis'; the absence of these signals lowers the IMMEDIATE urgency somewhat but does not reduce the technical severity, and file-upload-to-RCE bugs in WordPress plugins are historically rapidly weaponized once disclosed. The one tempering factor is deployment footprint: this is a niche ERP-integration plugin, so widespread opportunistic mass-exploitation is less likely than for a ubiquitous plugin, but any exposed instance should be treated as critical. |
| Exploit ScenarioDerived | A remote, unauthenticated attacker sends a crafted request to the plugin's JTL-Connector endpoint with an empty jtlauth parameter, which startSession() wrongly accepts as valid, then abuses the image-push/saveImage() flow to upload a PHP file because handleImagePush() does not properly validate the file type. The attacker then requests the uploaded file directly to execute arbitrary code and take over the WordPress site. No public exploit was identified at time of analysis, but the described flaw is low-complexity and highly reliable. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
Unauthenticated arbitrary file upload in the JTL-Connector for WooCommerce WordPress plugin (all versions up to and including 2.4.3) lets remote attackers upload executable files and achieve remote code execution with a CVSS 3.1 score of 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H). Exploitation is trivial against default configurations: startSession() accepts an empty jtlauth parameter as a valid credential, so no authentication, no user interaction, and no non-default setting is required - only that the plugin is installed and active and the connector endpoint is network-reachable. No public exploit code has been identified at time of analysis and the issue is not listed in CISA KEV, but the low attack complexity, unauthenticated vector, and default-configuration exploitability make this a genuine high-priority vulnerability rather than a high-score/low-risk case.
RemediationAI
No vendor-released patch identified at time of analysis - the available references all point to the vulnerable 2.4.3 source tree rather than a fixed release, so operators should track the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/ed869c1e-ae54-4db2-8147-39050a034c5e?source=cve) and the plugin's WordPress.org page for a patched version and update immediately once one ships. Until then, the strongest control is to deactivate and remove the JTL-Connector for WooCommerce plugin if the JTL ERP integration is not actively in use, which eliminates the exposure entirely at the cost of losing ERP synchronization. If the integration is required, restrict network access to the connector endpoint with a web server or WAF allowlist limited to the known JTL/ERP server addresses, accepting that legitimate connections from any other source (including mobile or dynamic-IP clients) will break. Reject at the edge any request to the connector path that omits jtlauth or supplies it empty, since the empty-value bypass is the precondition for the upload primitive. Harden the filesystem by disabling PHP execution in the WordPress uploads directory via nginx or Apache handler configuration, which is a compensating control that only helps if the payload lands there and does not protect against writes into other executable paths. Additionally, alert on newly created files in upload directories and on PHP processes spawned from uploaded content, and audit the site for webshells or unexpected PHP files while mitigations are in place.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerable component is a third-party WordPress plugin that bridges WooCommerce with JTL ERP systems; it ships a REST-style connector endpoint implemented in the plugin's Application layer (vendor/jtl/connector/src/Application/Application.php) with image handling in src/Controllers/ImageController.php. The root cause class is CWE-434, Unrestricted Upload of File with Dangerous Type, and it is reached through two chained defects rather than a single oversight. First, startSession() (roughly Application.php line 424/885 in the 2.4.3 tree) performs its credential check such that an empty jtlauth parameter is treated as valid, effectively issuing an unauthenticated connector session - this is a broken-authentication flaw that removes the prerequisite normally protecting the upload path. Second, handleImagePush() and saveImage() (referenced around ImageController.php line 632 and Application.php line 955) persist attacker-supplied content without adequate validation of file extension or MIME type, so a crafted push request can write an arbitrary file - including a .php payload - into a web-writable location. Because PHP is executed by default from writable upload directories on typical WordPress hosts, the stored file is directly reachable and executable over HTTP, converting the upload primitive into remote code execution as the web server user. The CPE cpe:2.3:a:ntbyk:jtl-connector_for_woocommerce:*:*:*:*:*:*:*:* confirms the affected product identity and that the CPE does not restrict to a fixed version, consistent with all releases through 2.4.3 being affected.
Know when Woocommerce gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Authentication bypass via empty jtlauth makes it network-reachable and unauthenticated (AV:N/PR:N/UI:N) with low complexity; unrestricted upload-to-RCE yields full host compromise (C/I/A:H).
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The JTL-Connector for WooCommerce plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 2.4.3 via the saveImage() function. This is due to the startSession() function accepting an empty jtlauth parameter as a valid credential, combined with insufficient file type validation in handleImagePush(). This makes it possible for unauthenticated attackers to upload files that may be executable, which makes remote code execution possible.
Executive ViewAI
The JTL-Connector for WooCommerce WordPress plugin (versions up to and including 2.4.3) contains a critical unauthenticated file upload vulnerability (CVE-2026-87855, CVSS 9.8) that allows remote attackers to execute arbitrary code on affected servers. Organizations using this plugin for their WooCommerce stores are at risk of full site compromise, data theft, and lateral movement, with exploitation requiring no authentication and minimal effort. As no vendor patch is currently available, immediate mitigation is essential to protect business operations and customer data.
Disable or remove the plugin if not essential; restrict network access to the connector endpoint to trusted IP addresses; implement WAF rules to block file upload attempts to the vulnerable endpoint; monitor logs for anomalous file uploads or unexpected code execution; enforce authentication at a reverse proxy or web server level for the connector endpoint. No vendor-released patch identified at time of analysis.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Malicious file upload attacks exploit insufficient validation when web applications accept user-provided files.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
More in Woocommerce
View allThe WooCommerce plugin through 3.x for WordPress has a Directory Traversal Vulnerability via a /wp-content/plugins/wooco
Unauthenticated arbitrary file upload in Addify's Request a Quote for WooCommerce plugin, affecting all versions up to a
The WooCommerce Help Scout WordPress plugin before 2.9.1 (https://woocommerce.com/products/woocommerce-help-scout/) allo
WooCommerce 7.1.0 contains a remote code execution vulnerability that allows attackers to execute arbitrary PHP code by
Unauthenticated path traversal in OrderConvo (the "Admin and Customer Messages After Order for WooCommerce" plugin), aff
Unauthenticated remote attackers can seize control of the payment configuration on WordPress stores running the Fundiin
Ultimate WooCommerce Gift Cards 3.0.2 is affected by a file upload vulnerability in the Custom GiftCard Template that ca
Unauthenticated attackers can exploit the Walletdoc Payment Gateway for WooCommerce plugin before version 1.8.5 to execu
Unauthenticated SQL injection in the ELEX WooCommerce Request a Quote WordPress plugin (all versions before 2.4.1) allow
Unauthenticated, network-reachable attackers can read the WooCommerce API consumer key and secret stored by the MgoSync
Unauth. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authentication required, low atta
An issue was discovered in the NAB Transact extension 2.1.0 for the WooCommerce plugin for WordPress. Rated high severit
EUVD-2026-100800
GHSA-7mjr-phqx-8hgq
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB