Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessFetch nonce from nbd_check_use_logged_in
-
DeliveryCall nopriv nbdesigner_copy_image_from_url AJAX
-
ExploitSupply malicious gapi[name] .php filename
-
ExecutionWrite PHP into uploads/nbdesigner/temp
-
ImpactRequest webshell to execute code
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 | Requires only that the Printcart Store (PCDesigner / NB Designer) plugin version ≤2.9.1 be installed and active; exploitation specifically invokes the Google Drive branch of the nbdesigner_copy_image_from_url AJAX action, where the attacker must supply gapi[name] (the raw attacker-controlled filename, e.g. ending in .php) along with their own Google Drive file and OAuth token as the fetched content source. No authentication is needed (PR:N) and the save-design nonce is freely issued by nbd_check_use_logged_in, so that is not a barrier. The practical limiting factor is that the uploads/nbdesigner/temp/ directory must actually execute PHP when requested - default on typical Apache/mod_php stacks but blocked where the uploads directory has PHP execution disabled or is served by a hardened configuration; the attacker must also control a reachable Google Drive file and a valid OAuth token for the content fetch. |
| Impact | All provided signals point to a genuine high-priority flaw. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N) describes an unauthenticated, network-reachable, low-complexity attack with full C:H/I:H/A:H impact, consistent with the described unauthenticated arbitrary-file-upload-to-RCE chain - the metrics and the technical narrative agree, which is reassuring. The chain is also self-contained: the required save-design nonce is dispensed to anonymous callers by nbd_check_use_logged_in, so the usual nonce barrier is neutralized, reinforcing the PR:N rating. However, several decision signals are MISSING from the input: no EPSS exploitation-probability score is provided, there is no CISA KEV entry, and no POC/exploit-code availability is indicated, nor is an SSVC decision record supplied - so automatability and in-the-wild status cannot be confirmed from this data. The one tempering factor is deployment footprint: this is a niche WooCommerce web-to-print plugin, so despite the 9.8 score the realistic blast radius is far smaller than a comparable flaw in a ubiquitous component. Net: treat as a real, patch-now issue for any site running the plugin (unauthenticated RCE in WordPress plugins is routinely mass-scanned once disclosed), but recognize that absent EPSS/KEV/POC confirmation the current evidence shows exploitability-by-design rather than proven active exploitation. |
| Exploit ScenarioDerived | An unauthenticated attacker first retrieves the freely-handed save-design nonce from the nbd_check_use_logged_in endpoint, then invokes the wp_ajax_nopriv_ nbdesigner_copy_image_from_url action using its Google Drive branch, supplying a gapi[name] value ending in '.php' plus their own Google Drive file and OAuth token as the content source. Because the Drive branch skips the jpg/jpeg/png/gif allow-list, the server writes attacker-controlled PHP bytes into the web-accessible wp-content/uploads/nbdesigner/temp/ directory, which the attacker then requests to execute arbitrary code. No public exploit identified at time of analysis, but the low-complexity network vector makes this trivially weaponizable once understood. |
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 Printcart Store (PCDesigner / NB Designer) plugin for WooCommerce, versions up to and including 2.9.1, allows a remote attacker to write a .php file into the web-served wp-content/uploads/nbdesigner/temp/ directory and thereby execute arbitrary code on the server, yielding full compromise of confidentiality, integrity, and availability (CVSS 3.1 base 9.8, AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H). The flaw sits in the nbdesigner_copy_image_from_url AJAX action, which is exposed to logged-out callers via wp_ajax_nopriv_; its Google Drive branch rebuilds the destination filename from the raw, attacker-supplied gapi[name] parameter, bypassing the jpg/jpeg/png/gif allow-list used on the other branch, and the required save-design nonce is freely issued to anonymous callers by the nbd_check_use_logged_in endpoint, so it presents no barrier. Exploitation is not conditional on credentials, but does require the attacker to supply a Google Drive file they control plus a valid OAuth token, and it succeeds only where the uploads directory executes PHP - typical on default Apache/mod_php stacks but blocked under hardened upload configurations; no public exploit code or confirmed active exploitation was identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade the Printcart Store (PCDesigner / NB Designer) plugin to version 2.9.2, which is the release that follows the affected 2.9.1 and contains the corrected class.nbdesigner.php code path; confirm the upgrade against the Trac diff (https://plugins.trac.wordpress.org/changeset?reponame=&new=3716244%40printcart-integration%2Ftags%2F2.9.2&old=3715643%40printcart-integration%2Ftags%2F2.9.1) and the vendor advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/788461ba-2cf2-49d2-bbaa-a02de15f33ae?source=cve). If the plugin cannot be updated immediately, the highest-value compensating control is to deny PHP execution inside wp-content/uploads/nbdesigner/temp/ (and the uploads tree generally) via an Apache <Directory> block with php_admin_flag engine off or the equivalent nginx location rule; this neutralizes the RCE even though the malicious file is still written, with the trade-off that any legitimate dynamic script served from uploads would also stop working. Deactivating the plugin removes the exposure entirely but disables the store's product-design functionality, and you should also audit and delete any unexpected files already present in wp-content/uploads/nbdesigner/temp/, since successful exploitation likely left attacker PHP behind. A virtual patch or WAF rule blocking unauthenticated requests to admin-ajax.php with action=nbdesigner_copy_image_from_url is a reasonable additional layer, but it breaks the plugin's remote-image feature for logged-out users and is trivially bypassable by parameter variation, so it must not be treated as a substitute for the 2.9.2 upgrade or the no-PHP-in-uploads rule.
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 affected component is a WordPress/WooCommerce product-designer plugin (Printcart Store, distributed in code as printcart-integration and also known as PCDesigner / NB Designer), matched by the CPE cpe:2.3:a:printcart:printcart_store_-_web_to_print_product_designer_for_woocommerce. The root cause class is CWE-434, Unrestricted Upload of File with Dangerous Type. WordPress exposes AJAX handlers to unauthenticated visitors through the wp_ajax_nopriv_<action> hook; the plugin registers nbdesigner_copy_image_from_url this way, intending it as a convenience for pulling design artwork from a remote URL. Its Google Drive code path derives the local destination filename from the attacker-controlled gapi[name] parameter rather than enforcing the extension allow-list (jpg/jpeg/png/gif) applied on the sibling branch, so a value ending in .php is accepted. The fetched bytes are then written to wp-content/uploads/nbdesigner/temp/, a directory inside the WordPress uploads tree, which on conventional Apache/mod_php deployments is served over HTTP and executes PHP. Because the nonce that normally guards such actions is handed to anonymous users by the nbd_check_use_logged_in endpoint, nonce validation adds no protection. Net effect: a single unauthenticated HTTP request chain can place attacker-controlled PHP in an executable, web-reachable path - a full remote code execution primitive executing under the web server's user context.
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
Unauthenticated nopriv AJAX action with a freely-issued nonce yields AV:N/AC:L/PR:N/UI:N, and arbitrary PHP execution gives full C:H/I:H/A:H on the host.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Printcart Store (PCDesigner / NB Designer) plugin for WooCommerce is vulnerable to unauthenticated arbitrary file upload leading to remote code execution in all versions up to, and including, 2.9.1 The nbdesigner_copy_image_from_url AJAX action is registered for logged-out callers (wp_ajax_nopriv_), and its Google Drive branch rebuilds the destination filename from the raw, attacker-supplied gapi[name] parameter - bypassing the jpg/jpeg/png/gif allow-list applied on the other branch - and writes the fetched bytes to a web-accessible directory (wp-content/uploads/nbdesigner/temp/). This makes it possible for unauthenticated attackers to write a .php file to a web-served, PHP-executing location and, by supplying their own Google Drive file and OAuth token as the content source, execute arbitrary code on the server. The required save-design nonce is handed to anonymous callers by the nbd_check_use_logged_in endpoint, so it presents no barrier.
Articles & Coverage 1
Executive ViewAI
WooCommerce storefronts using the Printcart Store (PCDesigner / NB Designer) plugin are exposed to unauthenticated remote code execution, enabling attackers to fully compromise the underlying web server, including customer data, payment information, and site integrity. This affects any organization hosting an unpatched instance of the plugin at versions up to and including 2.9.1, putting customer trust, regulatory compliance, and business continuity at immediate risk. Leadership should prioritize immediate mitigation and consider the plugin's necessity given the absence of a vendor patch.
No vendor-released patch identified at time of analysis. Interim mitigations include: blocking unauthenticated access to the nbdesigner_copy_image_from_url AJAX action via WAF or reverse proxy; disabling or removing the Printcart Store (PCDesigner / NB Designer) plugin if not essential; configuring the web server to deny execution of PHP scripts in the wp-content/uploads/nbdesigner/temp/ directory; and monitoring for suspicious file creation or outbound connections indicating compromise.
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-100765
GHSA-p5c5-938c-g6r5
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB